zoukankan      html  css  js  c++  java
  • 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    
  • 相关阅读:
    南阳33(蛇形填数)规律题;
    南阳241(字母统计)
    南阳57(6174问题)
    android图形基础知识
    Linux中yum手动安装、手动建立仓库文件夹关联实现关联包自动安装、yum相关命令使用
    debug连线指令
    Qt之信号连接,你Out了吗?
    hdu-4607-Park Visit
    MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)
    如何用正则将多个空格看成一个空格结合spllit()方法将文本数据入库
  • 原文地址:https://www.cnblogs.com/Caiyundo/p/10475490.html
Copyright © 2011-2022 走看看