• Linux常用命令


    把之前写的笔记搬过来吧,防丢。

    1、cat命令
       cat -n 文件名:显示文件内容并对行数编号
       cat -b 文件名:显示行号但不对空白行编号
       cat -s 文件名:遇到有连续两行以上的空白行,就合并成一行
       cat -E 文件名:在每行结束的时候显示$
       cat -T 文件名:将TAB字符显示为^l
       cat -n 文件1 >文件2:将文件1的内容加上行号输入到文件2中
       cat -b textfile1 textfile2 >> textfile3:把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里。
       cat /dev/null > 文件名:清空文件内容
    2、chattr命令
       lsattr:用于显示文件属性
       chattr -RV  递归处理并显示过程
                 |-- +开启文件或者目录属性
                 |-- -关闭文件或者目录属性
                 |-- =指定文件或目录的属性  
                                           |--a:让文件或目录仅供附加用途
                                           |--b:不让更新文件或者目录的最后存取时间
                                           |--c:将文件或目录压缩后存放
                                           |--i:不得随意更动文件或目录
                                           |--s:保密性删除文件或目录
                                           |--S:即时更新文件或目录
                                           |--u:预防意外删除
        chattr +a 文件夹:某个文件或目录只能追加数据,但不能删除,适用于各种日志文件。
    3、chgrp:
        u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
        + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
        r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
        --help : 显示辅助说明
       chmod ugo+r 文件名/chmod a+r 文件名:将文件设为所有人都可以读取
       chmod ug+w,o-w file1.txt file2.txt:将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
       chmod u+x ex1.py:将 ex1.py 设定为只有该文件拥有者可以执行 :
       chmod -R a+r *:将目前目录下的所有文件与子目录皆设为任何人可读取 :
       chmod 4755 filename可使此程序具有root的权限
    4、chown改变文件拥有者:
        这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
    5、cmp
       cmp 文件1 文件2:比较两个文件是否相同
       cmp -l 文件1 文件2:比较两个文件是否相同,并列出所有的不同
    6、diff
       diff 文件1 文件2:比较两个文件的不同(竖排显示)
       diff 文件1 文件2 -y -W 50:比较两个文件的不同(横排显示)
       diff 文件1 文件2    -B:不检查空白行
       diff 文件1 文件2    -i:不检查大小写
       diff 文件1 文件2 -H:比较大文件的时候能加快速度
       diff 文件1 文件2 -q:仅显示有无差异,不显示详细信息
       diff 文件1 文件2 -w:忽略全部的空格字符
    7、file
       file 文件名:显示文件信息
       file -b 文件名:列出辨识结果,不显示文件名
       file -i 文件名:显示mine类别
       file -z 文件名:尝试去解读压缩文件内容
    8、find
       find -name/-iname "*.txt":查找以.txt结尾的文件(iname会忽略大小写)
       find -ipath/path p:查找路径符合路径的文件,ipath会忽略大小写   
       find -type f:将当前目录和目录下的所有文件都列出来
       find -ctime -n:将当前目录下近n天更新过的文件列出
       find -cmin -n:将当前目录下过去n分钟内修改过的文件列出来
       find -atime -n:将当前目录下近n天读取过的文件列出来
       find -amin -n:将过去n分钟内读取过的文件列出来
       find /var/logs -type f -mtime +7 -ok rm { } :查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们。
       find . -type f -perm 644 -exec ls -l { } :查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
       find / -type f -size 0 -exec ls -l { }:查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
       find /var/logs -type f -mtime +7 -ok rm { }:查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
    9、cut
       cut -b n 文件名:以字节为单位进行分割剪切每一行的第n个字节
       cut -c n 文件名:以字符为单位进行分割剪切每一行的第n个字符
    10、ln
       ln -s log2013.log link2013 :给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效
       ln log2013.log ln2013:给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同
    11、less
       less 参数 文件名
        -b <缓冲区大小> 设置缓冲区的大小
        -e 当文件显示结束后,自动离开
        -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
        -g 只标志最后搜索的关键词
        -i 忽略搜索时的大小写
        -m 显示类似more命令的百分比
        -N 显示每行的行号
        -o <文件名> 将less 输出的内容在指定文件中保存起来
        -Q 不使用警告音
        -s 显示连续空行为一行
        -S 行过长时间将超出部分舍弃
        -x <数字> 将"tab"键显示为规定的数字空格
        /字符串:向下搜索"字符串"的功能
        ?字符串:向上搜索"字符串"的功能
        n:重复前一个搜索(与 / 或 ? 有关)
        N:反向重复前一个搜索(与 / 或 ? 有关)
        b 向后翻一页
        d 向后翻半页
        h 显示帮助界面
        Q 退出less 命令
        u 向前滚动半页
        y 向前滚动一行
        空格键 滚动一页
        回车键 滚动一行
        [pagedown]: 向下翻动一页
        [pageup]: 向上翻动一页
    12、locate
        locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
        locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。
        locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库。
    13、more
        more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示
    14、mmove
        mmove 文件1 文件夹:将文件放到文件夹下
    15、mv
        mv 文件名 目录名:将源文件名改为目标文件名
        mv 文件名 目录名:将文件移动到目标目录下
        mv 目录名 目录名:目标目录名存在,就将源目录名移动到目标目录名下,如果源目标目录不存爱,
        就改名
    16、paste命令
        paste 文件1 文件2:将文件1和文件2一列列de加以合并。
        paste -s 文件1:合并指定文件的多行数据
    17、rm命令
        rm 文件:删除一般文件
        rm -r 文件夹:递归删除文件夹及文件夹中文件
        rm -r *:删除当前目录下的所有文件及目录
        rm -i 文件夹:删除前意义询问确认
        rm -f 文件夹:删除前无需确认即逐一删除
    18、split命令
        split -n 文件:将文件每n行分割成一个文件。
    19、tee命令
        tee 文件1 文件2:将用户输入的内容保存到文件1和文件2中
        tee -a 文件:将用户输入内容追加到文件末尾
    20、tmpwatch命令
        tmpwatch 24 /tmp/:删除/tmp目录中超过一天未使用的文件
    21、touch命令
        touch 文件:修改文件时间属性为当前系统时间
        touch 文件名:如果指定的文件不存在,则将创建一个新的空白文件。
    22、which命令
        which bash:查看指定命令bash的绝对路径
    23、cp命令
        cp 源文件 目标路径:将源文件复制到目标路径下
        cp -r 源路径 目标路径:将源文件夹下的所有文件递归复制到目标路径下
    24、whereis
        whereis -b 命令:只查找二进制文件
        whereis -m 命令:只查找说明文件
    25、rhmask命令
        rhmask 文件1 文件2:将文件1进行加密后保存为文件2
    26、awk命令
        awk '{print $1,$4}' log.txt:每行按空格或TAB分割,输出文本中的1、4项
        awk '{printf "%-8s %-10s
    ",$1,$4}' log.txt:格式化输出
        awk -F, '{print $1,$2}'   log.txt:使用","分割
        awk 'BEGIN{FS=","} {print $1,$2}'     log.txt:或者使用内建变量
        awk -F '[ ,]'  '{print $1,$2,$5}'   log.txt: 使用多个分隔符.先使用空格分割,然后对分割结果再使用","分割
        awk -va=1 '{print $1,$1+a}' log.txt:设置变量:a=1
        awk '$1>2' log.txt:过滤第一列大于2的行
        awk '$1==2 {print $1,$3}' log.txt:过滤第一列等于2的行
        awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt :过滤第一列大于2并且第二列等于'Are'的行
        awk 'BEGIN{printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s
    ","FILENAME","ARGC","FNR","FS","NF","NR","OFS","ORS","RS";
        printf "---------------------------------------------
    "} 
        {printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s
    ",FILENAME,ARGC,FNR,FS,NF,NR,OFS,ORS,RS}'  log.txt:
        格式化输出:FILENAM(当前文件名)FNR(各文件分别计数的行号)FS(字段分隔符(默认是任何空格))
        NF(输入字段分割符)NR(已经读出的记录数,就是行号,从1开始)OFS(输出记录分隔符(输出换行符),输出时用指定的符号代替换行符)
        ORS    (输出记录分隔符(默认值是一个换行符))RS(记录分隔符(默认是一个换行符))
        awk '/re/ ' log.txt:输出包含"re" 的行
        awk '$2 ~ /th/ {print $2,$4}' log.txt:输出第二列包含 "th",并打印第二列与第四列
        awk 'BEGIN{IGNORECASE=1} /this/' log.txt:忽略大小写
        awk '$2 !~ /th/ {print $2,$4}' log.txt:模式取反
        awk 'BEGIN{print "HELLO WORLD"}':输出hello world
        ls -l *.txt | awk '{sum+=$6} END {print sum}':计算文件大小
        awk 'length>80' log.txt:从文件中找出长度大于80的行
        seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"
    ":"	")}':
        九九乘法表
    27、colrm命令
        从输入设备中读取内容输出到输出设备
        colrm n :删除n列之后的内容
        colrm n l:删除n列到l列之间的内容
    28、comm命令
        comm 文件1 文件2
        第一列是仅在文件1出现的行,第二列是仅在文件2中出现的行,第三列包含在文件1和文件2相同的行,各列是以制表符为界定符。
    29、ed命令
        ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。
        ed              <- 激活 ed 命令 
        a                 <- 告诉 ed 我要编辑新文件 
        My name is Titan. <- 输入第一行内容 
        And I love Perl very much. <- 输入第二行内容 
        .                 <- 返回 ed 的命令行状态 
        i                 <- 告诉 ed 我要在最后一行之前插入内容 
        I am 24.          <- 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间 
        .                 <- 返回 ed 的命令行状态 
        c                 <- 告诉 ed 我要替换最后一行输入内容 
        I am 24 years old. <- 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容) 
        .                 <- 返回 ed 的命令行状态 
        w readme.text     <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) 
        q                 <- 完全退出 ed 编辑器
    30、egrep命令
        egrep aaa *:查找当前目录下包含aaa字符的行。
    31、ex命令
        ex 文件名:进入ex编辑模式,"visual"后按回车键,将进入到vi 指令全屏界面;如果输入"q",则退出编辑器。
    32、join命令
        join 文件1 文件2:将文件1和文件2按照行号链接起来
    33、look命令
        look L 文件名:在文件中查找以L开头的所有行
    34、rgrep命令 
        rgrep Hello *:在当前目录下查找包含“Hello字符串的文件”
    35、sed命令
        sed -e nanewLine testfile:在testfile文件的第n行后添加一行,并减将结果输出到标准输出
        nl 文件名 | sed '2,5d':将文件内容列出并且印行号,同时将2-5行删除
        nl 文件名 | sed '2d':删除第2行数据
        nl 文件名 | sed '3,$d':删除第三行到最后一行
        nl 文件名 | sed '2a hhhh':在第二行后面加上‘hhhh’
        nl 文件名 | sed '2i hhhh':在第二行前面加上‘hhhh’
        nl 文件名 | sed '2,5c hhh':将第2-5行内容取代为‘hhh’
        nl 文件名 | sed -n '5,7p':仅显示5-7行数据
        nl 文件名 | sed -n '/hhh/p':查找文件中包含hhh的行
        nl 文件名 | sed '/hhh/d':删除文件中包含hhh的行
        nl 文件名 | sed -n '/hhh/{s/hhh/kkk/;p;q}':找到文件中包含hhh的行并把hhh用kkk替代
        sed 's/要被取代的字符串、新的字符串/g':查找文件中的字符串并替代
        sed -i 's/.$/!/g':直接修改文件内容,将文件中以.结尾的修改为!
        sed -i '$a hhhhh' 文件名:在文件最后一行加上hhhh
    36、sort命令
        sort 文件名:将文件第一列以ASCII码次序排列
    37、tr命令
        cat testfile |tr a-z A-Z:将文件中的小写字母转换成大写字母
    38、expr命令
        expr length 'this is a test':计算字符串长度
        expr substr 'this is a test':抓取字符串
        expr index 'adsafadasfa' a :抓取滴哟个字符数字出现的位置
        expr 14 % 9:整数运算
    39、uniq命令
        uniq 文件名:删除文件中的重复行
        uniq-c 文件名:检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数
    40、wc命令
        wc 文件名:统计文件信息
        3 92 598 文件名:三个数字分别代表文件的行数、单词数、以及文件的字节数
        wc 文件1 文件2 文件3:统计三个文件信息
    41、let命令
        let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式。
        let使用字符间不需要用字符隔开,expr需要使用空格隔开
    42、bye命令
        用于中断FTP连线并结束程序
    43、uuto命令
        uuto./testfile localhost/tmp #将文件传送到远程UUCP 主机localhost的tmp目录 
    44、ftp命令
        ftp ftp.kernel.org #发起链接请求 
    45、df命令
        df 统计磁盘使用情况
    46、dir命令
        dir -l 文件夹:列出文件夹中所有内容的详细信息
    47、du命令
        du 显示文件或文件夹所占空间
        du 文件/文件夹:显示指定文件或文件夹所占用空间
        du -h 文件夹:显示目录所占空间情况
    48、mkdir命令
        mkdir AAA:创建名为AAA的目录
        mkdir -p BBB/Test:递归创建BBB目录以及Test目录
    49、pwd命令
        pwd:显示工作目录
    50、rmdir命令
        rmdir AAA:删除名为AAA的目录
        rmdir -p BBB/Test:递归删除BBB目录以及Test目录
    51、tree命令
        tree :以树状结构列出当前目录结构
    52、stat命令
        stat 文件:查看文件的inode内容
    53、ls命令
        ls 显示当前工作目录下内容
        ls 文件夹:显示指定工作目录下的内容
        ls -ltr s*:列出当前目录下所有以s开头的文件
        ls -lR /bin:将bin目录下所有文件详细资料列出
    54、telent命令
        telent ip地址:登陆远程主机
    55、nc命令
        nc -v -z -w2 192.168.0.3 1-100 :TCP端口扫描
        nc -u -z -w2 192.168.0.1 1-1000:扫描UDP端口
        nc -nvv 192.168.0.1 80 //扫描 80端口(扫描指定端口)
    56、httpd命令
        httpd命令是Apache HTTP服务器程序。
        httpd -t:检查配置文件语法错误
        httpd:启动httpd
        httpd -l:显示编译模块
        httpd -L>1.log|tail -n 20 1.log:显示配置文件
    57、ifconfig命令
        ifconfig:显示网络设备信息
        ifconfig eth0 down:关闭指定网卡
        ifconfig eth0 up:启动指定网卡
        ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 :为网卡配置IPv6地址
        ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 :为网卡删除IPv6地址
        ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE :修改MAC地址
        ifconfig eth1 hw ether 00:1D:1C:1D:1E :关闭网卡并修改MAC地址
        ifconfig eth0 192.168.1.56 :给eth0网卡配置IP地址
        ifconfig eth0 192.168.1.56 netmask 255.255.255.0 :给eth0网卡配置IP地址,并加上子掩码
        ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255: 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
        ifconfig eth0 arp:开启ARP协议
        ifconfig eth0 -arp:关闭ARP协议
        ifconfig eth0 mtu 1500:设置传输最大单元
    58、netstat命令
        netstat -a:显示详细的网络状况
        netstat -nu:显示当前户籍UDP连接状况
        netstat -apu:显示UDP端口号的使用情况
        netstat -i:显示网卡列表
        netstat -g:显示组播组的关系
        netstat -s:显示网络统计信息
        netstat -l:显示监听的套接口
    59、ping命令
        ping www.baidu.com:检测是否与主机连通
        ping -c 2 www.baidu.com:指定接收包的次数(收到两次包后自动退出)
        ping -i 3 -s 1024 -t 255 g.cn:ping主机
    60、ytalk命令
        who:显示当前用户
        ytalk hhhh:发送消息
    61、useradd命令
        useradd kk:添加用户kk
        useradd ?g root kk:添加用户kk,并制定用户所在的组为root用户组
        useradd ?r kk:创建一个系统用户kk
        useradd -d /home/myf kk :添加新用户kk,其home目录为/home/myf
    62、chfn命令
        chfn:改变finger信息
        chfn -f hnunix:改变账号真实姓名
    63、date命令
        date:显示当前时间
        date '+%c':显示完整时间(2018年02月06日 星期二 10时18分12秒)
        date '+%D':显示数字日期,年份两位数表示
        date '+%x':显示日期,年份用四位数表示
        date '+%T':显示24小时的格式
        date '+%X':显示24小时格式
        date '+usr_time: $1:%M %P -hey':按照自己格式输出
        date '+%T%n%D':显示时间后换行显示日期
        date '+%B %d':显示月份与日
        date --date '12:34:56':显示日期与设定时间
    64、exit命令
        exit:退出终端
    65、finger命令
        finger -l:显示用户信息
        finger -m root:显示指定用户信息
        finger root:查询本机管理员资料
    66、sleep命令
        sleep 5m:休眠5分钟
        date;sleep 1m;date:显示目前时间,1分钟后再次显示时间。
    67、halt命令
        halt:关闭系统
        halt -p:关闭系统并关闭电源
        halt -d:关闭系统,但不留下记录
    68、kill命令
        kill 123456:杀死进程
        kill -KILL 123456:强制杀死进程
        kill -HUP pid:发送SIGHUP信号
        kill -9 123456:彻底杀死进程
        kill -l:显示信号
        kill -9 $(ps -ef | grep yarn):杀死指定用户的所有进程
        kill -u yarn:杀死指定用户的所有进程
    69、last命令
        last命令用于显示系统开机以来获是从每月初登入者的讯息。
        last -R -n:省略hostname栏位,仅显示前n个
        last -n n -R:简略显示,并制定显示个数
        last -n 5 -a -i:显示最后一列显示主机IP地址
    70、lastb命令
        lastb:显示登陆失败的用户
    71、login命令
        login:用新的身份登陆系统
    72、logname命令
        logname:显示登陆账号信息
    73、logout命令
        logout:退出系统
    74、ps命令
        ps -A:显示进程信息
        ps -u root:显示root进程用户信息
        ps -ef:显示所有mine令,连带命令行
      常见的用法:
      
    以下这条命令是检查java 进程是否存在:ps -ef |grep java字段含义如下:

        UID PID PPID C STIME TTY TIME CMD
        root 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae

      中间的|是管道命令 是指ps命令与grep同时执行
      grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
      grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

    75、top命令
        top:显示进程信息
        top -c:显示完整命令
        top -b:以批处理模式显示程序信息
        top -S:以累积模式显示程序信息
        top -n 2:更新两次之后种植更新显示
        top -d 3:更新周期为3秒
        top -p 139:显示进程号为139的进程信息,CPU、内存占用率等
        top -n 2 -b <top.log:将更新显示二次的结果输入到名称为top.log的档案里
    76、pstree命令
        pstree:显示进程关系
        pstree -apnh:显示进程间关系,特别表明在运行过程中的进程
        pstree -u:同时显示用户名
    77、reboot命令
        reboot :重新启动系统
    78、shutdown命令
        shutdown -h now:立即关机
        shutdown +5 "System will shutdown after 5minutes":5分钟之后关机,并向向前台发送信息
    79、rwho命令
        rwho:显示本地局域网内的所有用户
    80、sudo命令
        sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
        sudo -V:显示sudo版本信息
        sudo -l:显示当前用户的权限
    81、swatch命令
        swatch:开启系统监视
    82、uname命令
        uname -a:显示系统信息
        uname -m:显示计算机类型
        uname -n:显示计算机名
        uname -r:显示操作系统发行编号
        uname -s:显示操作系统名称
        uname -v:显示系统时间
    83、userconf命令
        userconf --adduser 666 hh lord /bin/bash:新增用户
    84、userdel命令
        userdel hh:删除用户账户
    85、usermod命令
        usermod -d /home/hh root:更改登录目录
        usermod -u 777 root:改变用户的uid
    86、vlock命令
        vlock:锁定虚拟终端
    87、who命令
        who:显示当前登录系统的用户
        who -H:显示标题栏
        who -l -H:显示用户登录来源
        who -T -H:显示终端属性
        who -m -H:只显示当前用户
        who -q:精简显示模式
    88、whoami命令
        whoami:显示用户名
    89、whois命令
        whois root:查找root用户信息
        whois .Lx138.Com:查询域名描述信息
        whois -H Lx138.COm:查询域名信息省略法律声明
        whois -p 80 Lx138.COm:指定端口查询
    90、su命令
        su -c ls root:变更帐号为 root 并在执行 ls 指令后退出变回原使用者
        su root -f:变更帐号为 root 并传入 -f 参数给新执行的 shell
        su -hh:变更账号为hh并改变工作目录至hh下
    91、w命令
        w:显示当前用户,不显示登陆位置
        w -f:不显示登陆位置
        w -s:以精简模式显示。
        w -h:不显示标题
    92、id命令
        id:显示当前用户id
        id -g:显示用户群组id
        id hh:显示指定用户信息
    93、free命令
        free:显示内存使用信息
        free -t:以总和的形式查询内存使用信息
        free -s 10:每10s执行一次命令
    94、clear命令
        clear:清屏
    95、alias命令
        alias lx=ls:给命令设置别名
    96、bind命令
        bind -l:显示按键组合的内容
        bind -q abort:列出指定功能的按键和按键组合
    97、chroot命令
        chroot /mnt/ls:改变根目录
    98、clock命令
        clock:获取当前的时间
        clock -utc:显示UTC时间
    99、crontab命令
        crontab -e:进入编辑模式
        minute hour day month week command
        0         7      *      *       *    /bin/l:每月每天的7点执行一次命令
        *         *     *      *        *    command:每分钟执行一次命令
        3,15     *      *      *        *    command:每天的第3分钟和第15分钟执行一次命令
        3,15     8-11 *      *        *    command:在上午8点到11点的第3和第15分钟执行
        3,15     8-11 */2 *        *     command:每隔两天的上午8点到11点的第3和第15分钟执行
    100、declare命令
        declare -i ab :声明整数型变量
        declare -r ab :设置变量为只读
    101、dmesg命令
        dmesg |less/demesg:显示开机信息
    102、enable命令
        enable:显示shell命令
    103、eval命令
        eval可读取一连串的参数,然后再依参数本身的特性来执行。
        参数不限数目,彼此之间用分号分开。
        eval enable;ls:连接多个命令
    104、export命令
        export -p :列出当前的环境变量值
        export MYENV=7 :定义环境变量并赋值
    105、rpm命令
        -a  查询所有套件。
        -b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。
        -c  只列出组态配置文件,本参数需配合"-l"参数使用。
        -d  只列出文本文件,本参数需配合"-l"参数使用。
        -e<套件档>或--erase<套件档>  删除指定的套件。
        -f<文件>+  查询拥有指定文件的套件。
        -h或--hash  套件安装时列出标记。
        -i  显示套件的相关信息。
        -i<套件档>或--install<套件档>  安装指定的套件档。
        -l  显示套件的文件列表。
        -p<套件档>+  查询指定的RPM套件档。
        -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
        -R  显示套件的关联性信息。
        -s  显示文件状态,本参数需配合"-l"参数使用。
        -U<套件档>或--upgrade<套件档> 升级指定的套件档。
        -v  显示指令执行过程。
        -vv  详细显示指令执行过程,便于排错。
        -addsign<套件档>+  在指定的套件里加上新的签名认证。
        --allfiles  安装所有文件。
        --allmatches  删除符合指定的套件所包含的文件。
        --badreloc  发生错误时,重新配置文件。
        --buildroot<根目录>  设置产生套件时,欲当作根目录的目录。
        --changelog  显示套件的更改记录。
        --checksig<套件档>+  检验该套件的签名认证。
        --clean  完成套件的包装后,删除包装过程中所建立的目录。
        --dbpath<数据库目录>  设置欲存放RPM数据库的目录。
        --dump  显示每个文件的验证信息。本参数需配合"-l"参数使用。
        --excludedocs  安装套件时,不要安装文件。
        --excludepath<排除目录>  忽略在指定目录里的所有文件。
        --force  强行置换套件或文件。
        --ftpproxy<主机名称或IP地址>  指定FTP代理服务器。
        --ftpport<通信端口>  设置FTP服务器或代理服务器使用的通信端口。
        --help  在线帮助。
        --httpproxy<主机名称或IP地址>  指定HTTP代理服务器。
        --httpport<通信端口>  设置HTTP服务器或代理服务器使用的通信端口。
        --ignorearch  不验证套件档的结构正确性。
        --ignoreos  不验证套件档的结构正确性。
        --ignoresize  安装前不检查磁盘空间是否足够。
        --includedocs  安装套件时,一并安装文件。
        --initdb  确认有正确的数据库可以使用。
        --justdb  更新数据库,当不变动任何文件。
        --nobulid  不执行任何完成阶段。
        --nodeps  不验证套件档的相互关联性。
        --nofiles  不验证文件的属性。
        --nogpg  略过所有GPG的签名认证。
        --nomd5  不使用MD5编码演算确认文件的大小与正确性。
        --nopgp  略过所有PGP的签名认证。
        --noorder  不重新编排套件的安装顺序,以便满足其彼此间的关联性。
        --noscripts  不执行任何安装Script文件。
        --notriggers  不执行该套件包装内的任何Script文件。
        --oldpackage  升级成旧版本的套件。
        --percent  安装套件时显示完成度百分比。
        --pipe<执行指令>  建立管道,把输出结果转为该执行指令的输入数据。
        --prefix<目的目录>  若重新配置文件,就把文件放到指定的目录下。
        --provides  查询该套件所提供的兼容度。
        --queryformat<档头格式>  设置档头的表示方式。
        --querytags  列出可用于档头格式的标签。
        --rcfile<配置文件>  使用指定的配置文件。
        --rebulid<套件档>  安装原始代码套件,重新产生二进制文件的套件。
        --rebuliddb  以现有的数据库为主,重建一份数据库。
        --recompile<套件档>  此参数的效果和指定"--rebulid"参数类似,当不产生套件档。
        --relocate<原目录>=<新目录>  把本来会放到原目录下的文件改放到新目录。
        --replacefiles  强行置换文件。
        --replacepkgs  强行置换套件。
            --requires  查询该套件所需要的兼容度。
        --resing<套件档>+  删除现有认证,重新产生签名认证。
        --rmsource  完成套件的包装后,删除原始代码。
        --rmsource<文件>  删除原始代码和指定的文件。
        --root<根目录>  设置欲当作根目录的目录。
        --scripts  列出安装套件的Script的变量。
        --setperms  设置文件的权限。
        --setugids  设置文件的拥有者和所属群组。
        --short-circuit  直接略过指定完成阶段的步骤。
        --sign  产生PGP或GPG的签名认证。
        --target=<安装平台>+  设置产生的套件的安装平台。
        --test  仅作测试,并不真的安装套件。
        --timecheck<检查秒数>  设置检查时间的计时秒数。
        --triggeredby<套件档>  查询该套件的包装者。
        --triggers  展示套件档内的包装Script。
        --verify  此参数的效果和指定"-q"参数相同。
        --version  显示版本信息。
        --whatprovides<功能特性>  查询该套件对指定的功能特性所提供的兼容度。
        --whatrequires<功能特性>  查询该套件对指定的功能特性所需要的兼容度。
        
        rpm -hvi dejagnu-1.4.2-10.noarch.rpm :安装软件
        rpm -qi dejagnu-1.4.2-10.noarch.rpm:显示软件安装信息
    106、set命令
        set命令用于设置shell。
        set:显示环境变量
    107、passwd命令
        passwd hh:设置hh用户的密码
        passwd -S hh:显示账号密码信息
        passwd -d lx138:删除用户密码
    108、rmmod命令
        lsmod:显示已安装的模块
        rmmod -v 模块名:卸载模块
        insmod -v 模块名 >1.log:安装模块
    109、modinfo命令
        modinfo sg:显示sg模块信息
    110、time命令
        用于计算某指令执行消耗的系统时间
        time date:date命令执行消耗系统时间
    111、ulimit命令
        ulimit -a:显示系统资源的设置
        ulimit -u 500:设置单一用户程序上限
    112、unset命令
        lx="ls -lh":设定环境变量
        $lx:使用环境变量
        unset lx:删除当前环境变量
    113、ar命令
        ar rv hh.bak *.txt:打包以.txt结尾的文件,命名为hh.bak
        ar t hh.bak:显示打包文件的内容
        ar d hh.bak aaa.txt bbb.txt:删除打包文件中的文件成员
    114、bunzip2命令
        bunzip2 -v aaa.bz2:解压.bz2的压缩文件
    115、bzip2命令
        bzip2 -v temp.bz2 :解压文件显示详细处理信息 
        bzip2 -c a.c b.c c.c:压缩文件
        bzip2 -t temp.bz2:检查文件完整性
    116、gunzip命令
        gunzip ab.gz:解压后缀为.gz的文件
    117、compress命令
        compress abc.h:压缩文件
        compress -d aaa.h.Z:解压文件
        compress -b 7 abc.h:按指定比例压缩文件
        compress -rf /home/abc/:强制压缩文件夹
    118、dump命令
        用于备份文件系统
        dump -0 -u /dev/tape /home/:备份文件到磁带
    119、gzexe命令
        gzexe abc:压缩可执行文件
    120、gzip命令
        gzip *:压缩目录下的所有文件夹
        gzip -dv *:解压文件,并列出详细信息
    121、tar命令
        tar -cvzf test.tar.gz a.c:压缩a.c文件为test.tar.gz
        tar -zvfx test.tar.gz:解压文件
        tar -tzvf test.tar.gz:列出压缩文件内容
    122、zip命令
        zip -q -r hh.zip /home/hh:将/home/hh这个目录下所有文件和文件夹打包为当前目录下的hh.zip
        zip -q -r hh.zip *:把当前目录下的所有文件和文件夹打包为hh.zip
        zip -dv hh.zip a.c:从压缩文件hh.zip中删除a.c文件
    123、zipinfo命令
        zipinfo cp.zip:显示压缩文件信息
        zipinfo -v aa.zip:显示压缩文件中每个文件信息
    124、vi编辑器
        Ctrl+u:向文件首翻半屏;桌面
        Ctrl+d:向文件尾翻半屏;
        Ctrl+f:向文件尾翻一屏;
        Ctrl+b:向文件首翻一屏;
        Esc:从编辑模式切换到命令模式;
        h 或 向左箭头键(←)    光标向左移动一个字符
        j 或 向下箭头键(↓)    光标向下移动一个字符
        k 或 向上箭头键(↑)    光标向上移动一个字符
        l 或 向右箭头键(→)    光标向右移动一个字符
        数字+h,j,k,l:可以选择想某个方向移动数字行或列
        [Ctrl] + [f]    屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
        [Ctrl] + [b]    屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
        [Ctrl] + [d]    屏幕『向下』移动半页
        [Ctrl] + [u]    屏幕『向上』移动半页
        +    光标移动到非空格符的下一行
        -    光标移动到非空格符的上一行
        n<space>    那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
        0 或功能键[Home]    这是数字『 0 』:移动到这一行的最前面字符处 (常用)
        $ 或功能键[End]    移动到这一行的最后面字符处(常用)
        H    光标移动到这个屏幕的最上方那一行的第一个字符
        M    光标移动到这个屏幕的中央那一行的第一个字符
        L    光标移动到这个屏幕的最下方那一行的第一个字符
        G    移动到这个档案的最后一行(常用)
        nG    n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
        gg    移动到这个档案的第一行,相当于 1G 啊! (常用)
        n<Enter>    n 为数字。光标向下移动 n 行(常用)
        搜索替换
        /word    向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
        ?word    向光标之上寻找一个字符串名称为 word 的字符串。
        n    这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
        N    这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
        使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!
        :n1,n2s/word1/word2/g    n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100200 行之间搜寻 vbird 并取代为 VBIRD 则:
        『:100,200s/vbird/VBIRD/g』。(常用)
        :1,$s/word1/word2/g    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
        :1,$s/word1/word2/gc    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
        删除、复制与贴上
        x, X    在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
        nx    n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
        dd    删除游标所在的那一整行(常用)
        ndd    n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
        d1G    删除光标所在到第一行的所有数据
        dG    删除光标所在到最后一行的所有数据
        d$    删除游标所在处,到该行的最后一个字符
        d0    那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
        yy    复制游标所在的那一行(常用)
        nyy    n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
        y1G    复制游标所在行到第一行的所有数据
        yG    复制游标所在行到最后一行的所有数据
        y0    复制光标所在的那个字符到该行行首的所有数据
        y$    复制光标所在的那个字符到该行行尾的所有数据
        p, P    p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)
        J    将光标所在行与下一行的数据结合成同一行
        c    重复删除多个数据,例如向下删除 10 行,[ 10cj ]
        u    复原前一个动作。(常用)
        [Ctrl]+r    重做上一个动作。(常用)
        .    重复前一个动作(常用)
        第二部份:一般模式切换到编辑模式的可用的按钮说明
        进入输入或取代的编辑模式
        i, I    进入输入模式(Insert mode):
        i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
        a, A    进入输入模式(Insert mode):
        a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
        o, O    进入输入模式(Insert mode):
        r, R    进入取代模式(Replace mode):
        r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
        [Esc]    退出编辑模式,回到一般模式中(常用)
        第三部份:一般模式切换到指令行模式的可用的按钮说明
        指令行的储存、离开等指令
        :w    将编辑的数据写入硬盘档案中(常用)
        :w!    若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
        :q    离开 vi (常用)
        :q!    若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
        :wq    储存后离开,若为 :wq! 则为强制储存后离开 (常用)
        ZZ    若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
        :w [filename]    将编辑的数据储存成另一个档案(类似另存新档)
        :r [filename]    在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
        :n1,n2 w [filename]    将 n1 到 n2 的内容储存成 filename 这个档案。
        :! command    暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
        『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
        vim 环境的变更
        :set nu    显示行号,设定之后,会在每一行的前缀显示该行的行号
        :set nonu    与 set nu 相反,为取消行号!
        u   撤销上一步的操作
        Ctrl+r 恢复上一步被撤销的操作
        
    
        
         
        
        
        
    
    
    
       
    唯有热爱方能抵御岁月漫长。
  • 相关阅读:
    _DataStructure_C_Impl:稀疏矩阵十字链表存储
    _DataStructure_C_Impl:稀疏矩阵三元组
    _DataStructure_C_Impl:Array
    _DataStructure_C_Impl:KMP模式匹配
    _DataStructure_C_Impl:链串
    _DataStructure_C_Impl:堆串
    _DataStructure_C_Impl:顺序串
    _DataStructure_C_Impl:双端队列
    _DataStructure_C_Impl:链式队列
    _DataStructure_C_Impl:只有队尾指针的链式循环队列
  • 原文地址:https://www.cnblogs.com/syq816/p/12355133.html
Copyright © 2020-2023  润新知