Linux常用命令汇总

命令语法:
    命令 【参数选项】 【文件或路径】
    rm      -rf           /etc/hosts
    
    1mkdirmake directorys) 创建目录 例子:mkdir /data
        -p    如果目录存在,不报错;递归创建目录
        -v    显示创建过程
        mkdir -pv /tmp/{1..5}/{6..8}
    2ls(list,同dir) 
        列表目录文件 例子:ls /
        -l (long)长格式,查看文件详细信息
        -d (directory)只显示目录
        -h    人性化显示属性信息
        -F    给所有文件加标识
        -p    给目录文件加标识
        -a    显示所有文件,默认.开头的文件为隐藏文件
        -t    按修改时间从大到小排序
        -r    逆序排序
        -i    查看inode节点
        --time-style=long-iso    格式化显示时间
    3、cd(change directorys)改变目录路径 例子:cd /
        绝对路径与相对路径区分
        help cd;
        $PWD(pwd)    
        $OLDPWD(-)
        cd - 返回上次目录
        cd .. 返回上一级目录
        cd (~) 返回用户家目录
    4pwd(print work directory) 显示当前所在路径
        $PWD
        pwd
        pwd -L
        pwd -P
    5touch        创建文件或更新文件的时间戳
        touch stu{1..1000}
        stat oldboy.txt 显示文件详细属性
        -a 改变文件访问时间    access
        -m 改变文件的修改时间 modify
    6vi/vim    
        文本编辑器,类似windows记事本,简单。 
        :
            w    保存
            q    退出
            !    强制
            set nu/set nonu    显示/不显示行号
            %s///g
        总结vi命令!!!!!!!!!!!!
        例子:
            vi oldboy.txt
            vi file +n
            vi file +
            vi file +/Password
            vi file...file        
    7echo        
        打印输出内容,一般配置'>''>>'可以为文件覆盖或追加内容
        -n    不换行输出
        -e    可以使用转义字符(
、	等)
        '>'    意思是重定向,会清除文件里所有以前的数据
        '>>' 为内容追加,追加到文件内容末尾位置
        echo '
        1111
        2222
        3333'>>/data/oldboy.txt
    7cat             
        查看文件内容    
        -n 显示行号
        -e 可以识别转义符
        -b 只为非空行计数
        -E 在每一行的末尾打印一个$符
        -s 压缩空行,可将多个空行压缩成一个空行来查看
        -T 区分tab键和空格
        -A 相当于-vET
        例子:
            cat oldboy.txt
            cat >/data/oldboy.txt(Ctrl+c、Ctrl+d退出)
            cat >>/data/oldboy.txt<<EOF        (EOF可变)
            cat 文件1 文件2 >文件3    #合并文件
    8xargs
        从标准输入(管道或stdin、输入重定向)获取数据,并将数据转换成命令行的参数
        -i    把获取到的数据丢进{}里面
        -n    按组输出内容
        例子: 
            xargs -n 4 文件名
            find . | xargs -i(I) mv {} /tmp/
    9cp(copy)        复制,拷贝文件或目录
        -r    复制目录(-a也可以)
        -i    覆盖提示是否确认执行操作,系统别名alais默认覆盖提示
        -p:连同文档属性一起复制过去,而非使用默认属性
        -d:链接文件
        -a(相当于pdr)    保留文件的所有属性                
        备份简易方法:
            用{,}
        例子:
            cp /etc/ssh/sshd_config{,ori}
            cp /mnt/test.txt /tmp/        
            /bin/cp /mnt/test.txt /tmp/
    10mv(move)        移动文件或更名文件
        移动或更名
        -i    覆盖提示是否确认执行操作,系统别名alais默认覆盖提示
        例子:
            mv /etc/passwd /tmp/
    11rm(remove)     删除文件
    12rmdir 目录        删除空目录
        -f(force)                强制删除
        -r(recursive)            删除目录文件
    13find             查找        
        -type 文件类型(f(file),d(directory),c(character),b(block),s(socket),l(link))
        -name 文件名
        -mtime (modify time)按修改时间查找,+7(七天以前),7(第七天),-7(最近四天)
        -atime (access time)按访问时间查找
        -ctime (change time)按文件状态改变时间查找
        -maxdepth 数字    查找几层目录(查找深度)
        -size    指定文件大小范围
        -a    取并集
        -o    或
            用法:find 路径 -type f -name '文件名' -exec rm {} ;
    14grep         
        linux三剑客(awkgrepsed)之一    过滤需要的内容
        -v 排除内容
        -n    对匹配的内容打印行号
        -E    过滤多个字符串(相当于egrep)
        -i    不区分大小写过滤
        -w    以单词方式匹配
        -o    只显示匹配到的内容
        -A    (after)匹配输出内容行并输出内容行后的指定行
        -B    (before)匹配输出内容行并输出内容行前的指定行
        -C    (context)匹配输出内容行并输出内容行的前后指定行
        --color 过滤的内容显示颜色
            例子:
                grep -v "1" /data/oldboy.txt
                grep -n .("") /etc/passwd
                ls -lp(F) |grep ["^d""/$"]
                grep 20 -A 10 /data/ett.txt 
                grep 25 -C 5 /data/ett.txt
                grep 30 -B 10 /data/ett.txt
    15head        
        头、头部,读取文件的前n行,默认显示前10行
        -num    查看前几行(相当于-n num)
        -c        查看行内容的前几个字符
        -n +num    去除最后几行
        -v        标记显示文件头
        例子:head (-n 2)-2 /data/oldboy.txt
        显示文件的第20到30行:
            head -30 ett.txt |tail -11
            grep 20 -A 10 /data/ett.txt 
            grep 25 -C 5 /data/ett.txt
            grep 30 -B 10 /data/ett.txt
            sed -n '20,30'p ett.txt
            awk '19<NR && NR<31' /data/ett.txt
    16tail        
        尾、尾巴,输出文件的后n行,默认后显示10行
        -num    显示文件内容尾部指定行
        -f(tailf)    实时观察一个文件的尾部信息的变化
        -F    对比-f多个重试功能,没啥用    
        例子:
            tail -2 /data/oldboy.txt
            tail -f /var/log/messages
            tailf /var/log/messages
    17、tree    
        显示目录树(树形显示目录下文件)
        yum install tree -y    安装tree
        -a    显示所有文件
        -L    layer,显示指定层内的文件
        -d    只显示目录文件
        -f    显示文件完整路径
        -i    不显示缩进线
        -F    区分目录文件和普通文件
        tree -dLfi .    
    18、alias    查看和设置别名
        作用:
            1.防止人为误操作
            2.把复杂的字符串或命令变成简单的字符串或命令
            alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
            alias rm='echo this command does not allow to use.'
        unalias    取消别名
            unalias cp
        恢复系统别名:
            source /root/.bashrc
        系统别名的系统文件:
            /etc/profile    全局生效
            ~/.bashrc        当前用户生效
    19seq(sequence序列)
        -s 指定分隔符," "
        -f    指定数组前缀
        -w    数组加0
        例子:
            seq 100 >/data/ett.txt
    20sed(stream editor)        
        流编辑器,实现对文件的增删改替换查
        -i        正式修改内容         
        -n        取消默认输出
        -e        允许多项编辑
        -r        使用扩展正则表达式
        =        在文件内容行前增加一行行号
        s         查找并替换
        g        全局替换
        p        打印
        '/ /p'    正则表达式匹配/ /里面的内容并输出
        '2s///g'    2指代第二行
        's#()()#12#g'    分配处理
        增删查改
        sed -i '22p' /etc/passwd
        sed -i '22d' /etc/passwd
        sed -n '/root/p'
        sed -i 's#root#Caiyun#g'
        例子:    
            sed -i 's#oldgirl#gongli#g' oldboy.txt
            sed -n '20,30'p ett.txt
            sed -n '/emp/p' /etc/passwd
            ls -lF | sed -n '/[^d,$/]/p'    
            sed = /etc/passwd |sed -n 'N;/
/ /p'
            sed = /etc/passwd |sed 'N;s/
/ /'
    21awk        
        过滤、输出内容,一门语言。
        -F    指定分隔符
        NR 指定行号
        $0    表示全行($1表示第一列以此类推)
        $NF    表示最后一列
        '/ /'    正则表达式匹配/ /里面的内容并输出
        if    条件语句
        例子:
            ① awk '19<NR && NR<31' /data/ett.txt
            ② awk '{if($2>1) print $0}'awk '/emp/' /etc/passwdawk -F '[ :]+' '{print NR,$1}' /etc/passwd    "+"表示多个分隔符
    22、ntp
        校准时间:
            ntpdate cn.pool.ntp.org
    23、useradd    
        添加用户    
        -g    指定所属组
        语法:useradd 用户名
        例子:
            useradd caiyun -g dudu
    24passwd 为用户设置或修改密码 语法:passwd 用户名
        echo "123456"|passwd --stdin Caiyun 非交互式修改密码
    25uname    打印系统信息
        -m    32位or64位
        -r    内核版本
        -a    显示所有信息
        -n    显示主机名,相当于hostname命令
    26hostname    显示和设置主机名,临时生效
        /etc/sysconfig/network    配置文件
        [root@oldboy ~]# set |grep PS1    
        PS1='[u@h W]$ '
    27、runlevel    查看当前运行级别
    28、init    切换运行级别 
    29、shutdown(half、init 0)    关机命令
        shutdown -h now    关机
        shutdown -r now    重启
    30、reboot(init 6、shutdown -r now)    重启命令
    31、chkconfig    管理开机是否启动服务命令
    32、export    设置特殊变量
        export TMOUT=10    超时退出
        export HISTSIZE=5    设置命令行历史记录命令数量
        export HISTFILESIZE=5    设置历史记录命令记录文件生效
        永久生效:/etc/profile
    33、history    查看历史记录
        -c    清除所有历史记录
        -d     删除某条历史记录
    34tar
        tar -zxvf 压缩包
    35nl    
        number lines 查看文件并显示行号
        例子:
            nl /etc/passwd
    36less
        分屏显示文件内容,可以回退(跟vi界面类似,但是不可以编辑文件)
        -N    显示行号打开文件
        例子:
            less (-N) /etc/services        
    37more
        分屏显示文件内容
        -num 定义分屏显示行数
        +num 定义到文件的第几行
        space 向下(z)
        b 向上
        h 查看帮助(?/ 搜索文件内容
        v 进入vi编辑器模式
        ! 在bash环境下执行命令    
    38wc
        为每个文件打印换行符,字和字节数
        -l(lines) 显示总行数
        -L(max-line-length)    显示文件最长行的长度
        -c(bytes) 统计字节数
        -m(chars) 统计字符数
        -w 统计单词个数
        例子:
            wc -l test.txt
    39ps
        报告当前进程的快照(report a snapshot of the current processes.)
        -e    
        -f
    40、netstat
        打印网络连接,路由表,接口统计信息,伪装连接和多播成员资格
        -lntup
        例子:
            netstat -lntup
    41、chkconfig
        --list        列出所有chk管理服务
        --level        指定级别
        --add        增加chkconfig管理服务
        例子:
            chkconfig (--level 3) sshd off/on
            chkconfig --list sshd
        管理:
            创建一个脚本 /etc/init.d/service.du
            在脚本里放入chkconfig启动管理代码
            往chkconfig程序里add脚本服务
            测试!!!
    42ln(links)    
        创建链接文件
        -s 创建软链接
        例子:
            ln /etc/passwd /tmp/passwd.ori
            ln -s /etc/passwd /tmp/pwd
        readlink 
            查看软链接文件路径指向
    43、bash
        把信息作为命令执行
        例子:
            chkconfig |grep "3:on"|egrep -v "sysstat|sshd|rsyslog|network|crond"|awk '{print "chkconfig",$1,"off"}' |bash
    44file
        查看文件类型
        例子:
            file /etc/passwd
    45stat
        显示文件或文件系统状态(详细)
        例子:
            stat /etc/passwd
    46、dumpe2fs
        查看文件系统内部信息(元数据),inode、block等信息
        例子:
            dumpe2fs /dev/sda1
    47df
        查看系统磁盘信息
        -h    人性化显示
        -i    查看文件分区inode使用情况
        -T    查看当前挂载的文件系统类型
        例子:
            df -hT
            df -i
    48last
        查看用户登录信息,对应/vat/log/wtmp数据文件
        例子:
            last
    49、lastlog
        查看所有用户最近登录信息,对应/var/log/lastlog数据文件
        例子:
            lastlog
    50du
        查看文件大小
        -s    只显示每个参数的总数
        -h    人性化显示
    51id
        查看用户信息,包括用户用户组等
    52date
        查看当前时间
        %y    显示年
        %m    显示月
        %d    显示日
        %F    以yyyy-mm-dd格式显示年月日
        %w    显示周几
        %H    显示时
        %M    显示分
        %S    显示秒
        %X    以hh:mm:ss格式显示时分秒(跟%T差不多)
        date +%F -d "-1day"    等方式查看过去将来的时间
    53which
        查看二进制命令所在路径(从PATH变量所在的路径查找)
    54whereis
        查找命令的帮助、源代码 -b二进制
    55locate
        根据文件名查找文件
        只能updatedb库里内容,locate从/var/lib/mlocate/mlocate.db
    56、top
        查看资源占用情况
        
    LANG字符集变量
    PATH环境变量
        命令默认路径搜索
        PATH="$PATH:/root"
        export PATH="$PATH:/root"
    
    56、rename
        重命名文件
        rename "取出文件名内容" "替换成...内容" 文件名
    57basename
        全路径文件时,去掉路径,保留文件名
    58dirname
        全路径文件时,去掉文件名,保留路径
    59、md5sum
        校验文件时使用,查看文件的md5值
    60、usermod
        更改用户所属组
        例子:
            usermod -g dudu caiyun
    61、groupadd
        创建用户组
        例子:
            groupadd caiyun
    62chown(change owner)
        更改文件的所属用户和所属组(所有者)
        -R    递归赋予用户及用户组
        例子:
            chown caiyun.dudu 文件名
            chown caiyun.    文件名
            chown .dudu        文件名
            chown caiyun    文件名
    63chmod(change mode)
        更改文件权限许可,umask
        -R    同时更改目录及目录下文件的权限
        u
        g
        o
        a    all
        +
        -
        =
        r
        w
        x
        0
        例子:
            chmod 755 test.sh
            chmod g+w,o-x test.sh
    64、umask
        文件默认权限
        配置文件/etc/profile
    65、userdel
        删除用户
        -r    删除家目录
    66chattr
        更改Linux文件系统上的文件属性,可用于锁定文件
        i    (immutable一成不变)设置文件不可变,即锁住
        a    (append only)只允许追加内容
    67、lscttr
        查看Linux文件系统上的文件属性
    68、crontab
    相关配置文件或系统路径:
    /var/spool/cron/、/var/log/cron*、/etc/cron.allow、/etc/cron.deny、/etc/crontab、(visudo /etc/sudoers)
        维护个人用户的crontab文件
        /etc/crontab    全局?
        -l    (list)查看crontab文件内容    crontab -l == cat /var/spool/cron/[user]
        -e    (edit)编辑crontab文件内容    crontab -e == vim /var/spool/cron/[user]
        -i    删除crontab文件内容,删除前会提示确认
        -r    删除crontab文件内容
        -u    指定使用的用户执行
        * * * * *
        -
        ,
        /n
        %F        百分号要转义
        PATH加入文本用法
    69tac
        行号反向查看文件内容(与cat相反)
    70、rev
        行内容反向读取
    71cut
        删除每行文件中的部分
        -b 切割字节
        -c 切割字符
        -d 以tab作为分隔符,与-f配和使用
        -f 指定第几列,默认tab键作为分隔符(awk默认空格作为分隔符)
        -n 打印不可见字符
        例子:
            cut -b 3-4 test
            cut -b 4- test
            cut -b -3 test
    72、fdisk
        Linux分区表操作器(2T以内磁盘)
        -l 查看磁盘分区信息(cat /proc/partitions)
        /dev/sdb 修改磁盘分区表信息
            q(Ctrl+c) 退出
            n 进行分区
            p 查看磁盘当前分区情况
        例子:
            fdisk -l
            fdisk /dev/sdb
    73、partprobe
        加载分区信息到内核(通知内核分区系统分区表配置变更)
        例子:
            partprobe /dev/sdb
    74、parted
        分区操作程序
        /dev/sdb
            mklabel gpt 切换分区类型位gpt
            mkpart primary 0 10 创建一个主分区
        例子:
            parted /dev/sdb
    75、mkswap
        将文件系统格式化为swap格式(格式化swap分区)
        例子:
            mkswap /dev/sdb2
    76、swapon
        载入/使用swap分区
        例子:
            swapon /dev/sdb2
    77、swapoff
        卸载swap分区
        例子:
            swapoff /dev/sdb2
    78dd
        转换和拷贝文件
        例子:
            dd if=/dev/zero of=/tmp/dudu bs=1M count=100 创建一个1000M的dudu文件
    79、tune2fs
        修改文件系统信息
    80、fsck,badblocks
        磁盘检查
        例子:
            fsck -C -f -t ext4 /dev/sdb2 ===>没坏的磁盘不要用这个命令
            badblocks -sv /dev/sdb2 ===>此命令可被fsck替代
    81lsmod
        查看模块加载情况
    82、mkfs.ext4(mkfs -t ext4)
        格式化分区或磁盘位ext4文件系统类型
        -t 指定文件系统类型
        -b 指定block大小
        -I 指定inode大小
        例子:
            mkfs -t ext4 -b 4096 -I 256 /dev/sdb2
    83mountcat /proc/mounts 查看挂载情况)
        挂载文件系统
        -t 指定文件系统类型
        -o 指定选项
        例子:
            mount -t ext4 /dev/sdb2 /mnt
    84umount
        卸载文件系统
        -lF 强制卸载
        例子:
            umount /mnt
            umount /dev/sdb2
    85、megacli
        查看raid信息
    86、ipmitools
        查看硬件信息工具
    87、resize2fs
        调整文件系统大小(常用于lvm)
    88split
        切割文件(按照指定的行数或大小分割文件)
        -l 指定行数
        -a 指定分割后生成文件后缀长度
        -d 使用分割后生成文件为数字后缀
        -b 指定分割大小
        例子:
            split -l 10 /etc/inittab /tmp/new_
    89、paste
        合并文件的行
        -d 指定文件内容合并的分隔符(默认为tab键)
        -s 行列转换
        例子:
            paste -d : 1.txt 2.txt
    90sort
        排序文件内容(默认按ascii码升序排序)
        -n 按照数值排序
        -r 倒序排序
        -u 压缩相同行成1行,包括不相邻的相同行(uniq忽略相邻重复的行)
        -t 指定分隔符
        -k 指定排序区域(第几列)
        例子:
            sort -n test.txt
            sort -k2 test.txt
            sort -t: -k2 test.txt
    91、dos2unix(unix2dos)
        把Windows格式转换成Linux格式(Windows换行符
,Linux换行符
)
        例子:
            dos2unix test.txt
    92diff(vimdiff可视化对比工具)
        比较文件内容和目录的不同
        a add增加
        c change改变
        d delete删除
        例子:
            diff text1.txt text2.txt
    93tr
        替换或删除字符串,单个字符一一对应
        -d 删除
        例子:
            tr 'acb' 'ABC' <test.txt a替换成A,c替换成B,b替换成C
            tr -d '0' <test.txt
            tr -d "
" <test.txt
            tr '
' '=' <test.txt
    94、rsync
        一个快速,多才多艺的远端(本地)文件拷贝工具
        -v,--verbose 详细模式输出,传输时的进度等信息
        -z,--compress 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩
        -a,--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgDl
        ==================================================================
        -r,--recursive 对子目录以递归模式,即目录下所有文件都同样传输,注意小写r
        -t,--times 保持文件时间信息
        -o,--owner 保持文件属主信息
        -p,--perms 保持文件权限
        -g,--group 保持文件属组信息
        -P,--progress 显示同步的过程及传输时的进度等信息
        -D,--devices 保持设备的文件信息
        -l,--links 保留软链接
        -e,--rsh=COMMAND 使用的信道协议,指定替代rsh的shell程序,例如:ssh
        --exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样)
        --exclude-from=file 文件名所在的目录文件(和tar参数一样)
        --bwlimit=RATE limit socket I/O bandwidth
        --delete 让目标目录DST和源目录SRC数据一致
        --daemon 启动rsync服务
        例子:
            rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
            rsync -avz /backup/ rsync://rsync_backup@172.16.1.41/backup/(zimulu) --password-file=/etc/rsync.password
    95、lsof
        列表打开的文件(linux下一切皆文件)
        -i 查看指定的协议和端口所对应的服务
        例子:
        lsof -i tcp:22
    
    
    
    
    
    
    
    
    
            
    
△ 查看命令帮助的几种方法:
    a. 【命令】 --help    适用于一般命令,非内置命令
    b. man    【命令】    适用于一般命令,非内置命令
    c. help 【命令】    只用于内置命令
    d. info
    
            
特殊符号:
    △ 标准输入(stdin):代码为0
    △ 标准正常输出(stdout):代码为1
    △ 标准错误输出(stderr):代码为2
    >或1>    输出重定向
    >>或1>>    追加重定向
    0<或<    输入重定向
    0<<或<<    追加输入重定向
        例子:
            cat /data/oldboy.txt 0<<EOF
            I am studying linux.
            EOF
    2>    错误重定向
    2>>    错误追加重定向
    △ 命令 >a.txt 2>&1; 命令 &> a.txt
    
    | 管道符
    . 当前目录
    .. 上级目录
    /    根目录
    ;    命令分隔符
    {}    序列
    ~    当前用户家目录
    -    上一次所在目录
    !取反    -a 并集    -o 或者
    &&    并且
    
    Ctrl+c    终止当前任务命令或程序
    Ctrl+d    退出当前用户环境,相当于exit
    Ctrl+l    清屏,相当于clear命令
    Ctrl+shift+c    复制
    Ctrl+shift+v    粘贴
    Ctrl+e    结尾
    Ctrl+a    开头
    Ctrl+u    清除前面的
    Ctrl+k    清除后面的
    Ctrl+s    挂起
    Ctrl+q    解除挂起

    
yum update        //更新补丁
常用软件:lrzsz,telnet,tree,nmap,nc    
原文地址:https://www.cnblogs.com/Caiyundo/p/10475490.html