zoukankan      html  css  js  c++  java
  • Linux基本命令

    1、查看当前所在的工作目录

    pwd

    2、查看当前系统的时间
    date

    3、查看有谁在线(哪些人登陆到了服务器)
    who 查看当前在线
    last 查看最近的登陆历史记录

    4、ls / 查看根目录下的子节点(文件夹和文件)信息
    ls -al -a是显示隐藏文件 -l是以更详细的列表形式显示

    5、切换目录
    cd /home

    6、创建文件夹
    mkdir aaa 这是相对路径的写法
    mkdir -p aaa/bbb/ccc
    mkdir /data 这是绝对路径的写法

    7、删除文件夹
    rmdir 可以删除空目录
    rm -r aaa 可以把aaa整个文件夹及其中的所有子节点全部删除
    rm -rf aaa 强制删除aaa

    8、修改文件夹名称
    mv aaa angelababy

    9、创建文件
    touch somefile.1 创建一个空文件
    echo "aaaaa" > somefile.2 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容
    echo "bbbbb" >> somefile.2 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容

    10、用vi文本编辑器来编辑生成文件
    最基本用法
    vi somefile.4
    1、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
    2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
    3、编辑完成之后,按Esc键退出编辑模式,回到一般模式;
    4、再按:,进入“底行命令模式”,输入wq命令,回车即可

    一些常用快捷键
    一些有用的快捷键(在一般模式下使用):
    a 在光标后一位开始插入
    A 在该行的最后插入
    I 在该行的最前面插入
    gg 直接跳到文件的首行
    G 直接跳到文件的末行
    dd 删除行,如果 5dd ,则一次性删除光标后的5行
    yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行
    p 粘贴
    v 进入字符选择模式,选择完成后,按y复制,按p粘贴
    ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
    shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴

    查找并替换(在底行命令模式中输入)
    %s/ddd/22     效果:查找文件中所有ddd,替换为222
    /cc       效果:查找文件中出现的cc,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)


    11、文件权限的操作

    ****linux文件权限的描述格式解读
    drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)

    d:标识节点类型(d:文件夹 -:文件 l:链接)
    r:可读 w:可写 x:可执行
    第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行
    第二组r-x: 表示这个文件的所属组对它的权限:可读,不可写,可执行
    第三组r-x: 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行


    修改文件权限
    chmod g-rw haha.dat 表示将haha.dat对所属组的rw权限取消
    chmod o-rw haha.dat 表示将haha.dat对其他人的rw权限取消
    chmod u+x haha.dat 表示将haha.dat对所属用户的权限增加x

    也可以用数字的方式来修改权限
    chmod 664 haha.dat
    就会修改成 rw-rw-r--

    如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
    chmod -R 770 aaa/
    chown angela:angela aaa/ <只有root能执行>

    目录没有执行权限的时候普通用户不能进入
    文件只有读写权限的时候普通用户是可以删除的(删除文件不是修改它,是操作父及目录),只要父级目录有执行和修改的权限

    12、基本的用户管理

    *****添加用户
    useradd am
    要修改密码才能登陆
    passwd am  按提示输入密码即可


    为用户配置sudo权限
    用root编辑 vi /etc/sudoers
    在文件的如下位置,为hadoop添加一行即可
    root ALL=(ALL) ALL
    wyl  ALL=(ALL) ALL

    然后,wyk用户就可以用sudo来执行系统级别的指令
     sudo useradd huangxiaoming


    13、系统管理操作
    查看主机名
    hostname
    修改主机名(重启后无效)
    hostname hadoop

    修改主机名(重启后永久生效)
    vi /ect/sysconfig/network
    修改IP(重启后无效)
    ifconfig eth0 192.168.12.73

    修改IP(重启后永久生效)

    vi /etc/sysconfig/network-scripts/ifcfg-eth0


    mount **** 挂载外部存储设备到文件系统中
    mkdir /mnt/cdrom 创建一个目录,用来挂载
    mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中

    umount
    umount /mnt/cdrom


    统计文件或文件夹的大小
    du -sh /mnt/cdrom/Packages
    df -h 查看磁盘的空间
    14、关机
    shutdown now、halt
    ****重启
    reboot

    部命令:echo
    查看内部命令帮助:help echo 或者 man echo

    外部命令:ls

    查看外部命令帮助:ls --help 或者 man ls 或者 info ls

    man文档的类型(1~9)
    man 7 man
    man 5 passwd

    快捷键:
    ctrl + c:停止进程

    ctrl + l:清屏

    ctrl + r:搜索历史命令

    ctrl + q:退出

    查看一下README文件有多单词,多少个少行
    wc -w README
    wc -l README


    查看文件详情
    stat a.txt

    拷贝并改名
    cp a.txt /etc/b.txt

    vi撤销修改
    ctrl + u (undo)
    恢复
    ctrl + r (redo)

    名令设置别名(重启后无效)
    alias ll="ls -l"
    取消
    unalias ll

    如果想让别名重启后仍然有效需要修改
    vi ~/.bashrc

    添加用户
    useradd hadoop
    passwd hadoop

    创建多个文件
    touch a.txt b.txt
    touch /home/{a.txt,b.txt}


    将a.txt 与b.txt设为其拥有者和其所属同一个组者可写入,但其他以外的人则不可写入:
    chmod ug+w,o-w a.txt b.txt

    chmod a=wx c.txt

    将当前目录下的所有文件与子目录皆设为任何人可读取:
    chmod -R a+r *

    将a.txt的用户拥有者设为users,组的拥有者设为jessie:
    chown users:jessie a.txt

    将当前目录下的所有文件与子目录的用户的使用者为lamport,组拥有者皆设为users,
    chown -R lamport:users *

    将所有的.java结尾的文件拷贝至finished子目录中:
    cp *.java finished

    将目前目录及其子目录下所有扩展名是java的文件列出来。
    find -name "*.java"
    查找当前目录下扩展名是java 的文件
    find -name *.java

    删除当前目录下扩展名是java的文件
    rm -f *.java

    添加一个tom用户,设置它属于users组,并添加注释信息
    分步完成:useradd tom
    usermod -g users tom
    usermod -c "hr tom" tom
    一步完成:useradd -g users -c "hr tom" tom

    设置tom用户的密码
    passwd tom

    修改tom用户的登陆名为tomcat
    usermod -l tomcat tom

    将tomcat添加到sys和root组中
    usermod -G sys,root tomcat

    查看tomcat的组信息
    groups tomcat

    添加一个jerry用户并设置密码
    useradd jerry
    passwd jerry

    添加一个交america的组
    groupadd america

    将jerry添加到america组中
    usermod -g america jerry

    将tomcat用户从root组和sys组删除
    gpasswd -d tomcat root
    gpasswd -d tomcat sys

    将america组名修改为am

    查找可执行的命令:
    which ls

    查找可执行的命令和帮助的位置:
    whereis ls

    查找文件(需要更新库:updatedb)
    locate hadoop.txt

    从某个文件夹开始查找
    find / -name "hadooop*"
    find / -name "hadooop*" -ls

    查找并删除
    find / -name "hadooop*" -ok rm {} ;
    find / -name "hadooop*" -exec rm {} ;

    查找用户为hadoop的文件
    find /usr -user hadoop -ls

    查找用户为hadoop并且(-a)拥有组为root的文件
    find /usr -user hadoop -a -group root -ls

    查找用户为hadoop或者(-o)拥有组为root并且是文件夹类型的文件
    find /usr -user hadoop -o -group root -a -type d

    查找权限为777的文件
    find / -perm -777 -type d -ls

    显示命令历史
    history

    grep
    grep hadoop /etc/password

    gzip压缩
    gzip a.txt

    解压
    gunzip a.txt.gz
    gzip -d a.txt.gz

    bzip2压缩
    bzip2 a

    解压
    bunzip2 a.bz2
    bzip2 -d a.bz2

    将当前目录的文件打包
    tar -cvf bak.tar .
    将/etc/password追加文件到bak.tar中(r)
    tar -rvf bak.tar /etc/password

    解压
    tar -xvf bak.tar

    打包并压缩gzip
    tar -zcvf a.tar.gz

    解压缩
    tar -zxvf a.tar.gz
    解压到/usr/下
    tar -zxvf a.tar.gz -C /usr

    查看压缩包内容
    tar -ztvf a.tar.gz

    zip/unzip

    打包并压缩成bz2
    tar -jcvf a.tar.bz2

    解压bz2
    tar -jxvf a.tar.bz2

    cut截取以:分割保留第七段
    grep hadoop /etc/passwd | cut -d: -f7

    排序
    du | sort -n

    查询不包含hadoop的
    grep -v hadoop /etc/passwd

    正则表达包含hadoop
    grep 'hadoop' /etc/passwd

    正则表达(点代表任意一个字符)
    grep 'h.*p' /etc/passwd

    正则表达以hadoop开头
    grep '^hadoop' /etc/passwd

    正则表达以hadoop结尾
    grep 'hadoop$' /etc/passwd

    规则:
    . : 任意一个字符
    a* : 任意多个a(零个或多个a)
    a? : 零个或一个a
    a+ : 一个或多个a
    .* : 任意多个任意字符
    . : 转义.
    <h.*p> :以h开头,p结尾的一个单词
    o{2} : o重复两次

    grep '^i.{18}n$' /usr/share/dict/words

    查找不是以#开头的行
    grep -v '^#' a.txt | grep -v '^$'

    以h或r开头的
    grep '^[hr]' /etc/passwd

    不是以h和r开头的
    grep '^[^hr]' /etc/passwd

    不是以h到r开头的
    grep '^[^h-r]' /etc/passwd

    查看用户最近登录情况
    last
    lastlog

    查看硬盘使用情况
    df

    查看文件大小
    du

    查看内存使用情况
    free

    查看文件系统
    /proc

    查看日志
    ls /var/log/

    查看系统报错日志
    tail /var/log/messages

    查看进程
    top

    结束进程
    kill 1234
    kill -9 4333

  • 相关阅读:
    maven学习(四)maven的生命周期
    maven学习(六)依赖、聚合、继承
    Koa2学习(三)GET请求
    Koa2学习(二)async/await
    Koa2学习(一)环境搭建
    实现一个简易的express中间件
    js生成页面水印
    使用 dva + antd 快速开发react应用
    使用ab 进行并发压力测试
    python3 使用http.server模块 搭建一个简易的http服务器
  • 原文地址:https://www.cnblogs.com/wuyl/p/9038348.html
Copyright © 2011-2022 走看看