zoukankan      html  css  js  c++  java
  • Linux5.4 shell特殊符号及管道相关命令

    特殊符合

            1. * 任意个任意字符
    	2. ? 任意一个字符
    	3. # 注释字符
    	4.   脱义字符
    	5. |  管道符(把前面命令在结果交给后面命令)
    	6. $ 变量前缀,正则表示行位
    	7. ; 多行命令一行输入,分割用
    	8. ~用户家目录,正则表示匹配符
    	9. &放到命令后,会把命令丢到后台
    	10.  >  >>   2>  2>>   &>
    	11. []指定字符中的一个,[0-9][a-zA-Z][abc]
    	12. ||   &&    
            || 在shell中是或者的意思,第一条不成功就执行第二条,成功就不在执行第二条      
            &&  第一条成功才执行第二条
            
    

    作业控制

      ctrl  z  暂停一个任务

      比如,在vi编辑文档情况下,一般模式,可以ctrl  z暂停该任务,进行其他操作。

      使用fg可以再调用刚刚的vi到前台。

    [root@localhost tmp]# jobs
    [1]-  已停止               vi 1.txt
    [2]+  已停止               vi 2.txt
    

      使用bg放到后台。放到后台的区别是我可以执行其他命令,放到前台的区别是我可以操作这个命令。

      命令+&  直接放到后台

    cut截取分割

    # -d分隔符  
    # -f指定段号
    # -c指定第几个字符,使用-c就不要使用-d -f
    [root@chy002 tmp]# head -2 passwd.txt |cut -d ':' -f 2,4,7
    x:0:/bin/bash
    x:1:/sbin/nologin
    [root@chy002 tmp]# head -2 passwd.txt |cut -c  2,4,7
    ot:
    i:1
    

    sort排序

    #sort常与uniq【去重复】一起用
    #-n  以数字排序,字母或者特殊符号认为0
    #-r   反序
    #-t   分隔符,针对第几段排序,与-k连用  -kn1,n2【很少用】
    [root@chy002 tmp]# head -4 passwd.txt  |sort -n
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    root:x:0:0:root:/root:/bin/bash
    [root@chy002 tmp]# head -4 passwd.txt  |sort -r
    root:x:0:0:root:/root:/bin/bash
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    [root@chy002 tmp]# head -4 passwd.txt  |sort -t ':' -k3
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    

    wc 统计行数

    #-l    统计行数
    #-m  统计字符数,会算上隐藏字符
    #-w  统计词数,以空白字符分割词
    [root@chy002 tmp]# head -4 passwd.txt  |wc -m
    142
    [root@chy002 tmp]# head -4 passwd.txt  |wc -l
    4
    [root@chy002 tmp]# head -4 passwd.txt  |wc -w
    4
    [root@chy002 tmp]# cat !$
    cat 234234.txt
    123
    asdf werr,asdf
    [root@chy002 tmp]# wc -w !$
    wc -w 234234.txt
    3 234234.txt
    
    
    #cat -A查看隐藏字符,其中的换行符
    [root@chy002 tmp]# cat -A passwd.txt| head -4
    root:x:0:0:root:/root:/bin/bash$
    bin:x:1:1:bin:/bin:/sbin/nologin$
    daemon:x:2:2:daemon:/sbin:/sbin/nologin$
    adm:x:3:4:adm:/var/adm:/sbin/nologin$
    

    uniq去重

    # 仅仅对挨着的两行相同的去重,所以需要先排序。
    # -c    统计行数
    [root@chy002 tmp]# cat !$
    cat 234234.txt
    123
    123
    345
    456
    asdfb
    345
    02
    asdf werr,asdf
    [root@chy002 tmp]# sort !$|uniq -c
    sort 234234.txt|uniq -c
          1 02
          2 123
          2 345
          1 456
          1 asdfb
          1 asdf werr,asdf
    

    tee命令

    # 与输出重定向>类似,重定向到后面所跟文件中,同时屏幕显示。
    # -a   追加
    [root@chy002 tmp]# sort 234234.txt|uniq -c| tee ty.txt
          1 02
          2 123
          2 345
          1 456
          1 asdfb
          1 asdf werr,asdf
    [root@chy002 tmp]# cat ty.txt
          1 02
          2 123
          2 345
          1 456
          1 asdfb
          1 asdf werr,asdf
    

    tr替换字符

    [root@chy002 tmp]# echo "chyuanliulinux" |tr 'l' 'L'
    chyuanLiuLinux
    [root@chy002 tmp]# echo "chyuanliulinux" |tr 'li' 'L'
    chyuanLLuLLnux
    [root@chy002 tmp]# echo "chyuanliulinux" |tr 'li' 'LI'
    chyuanLIuLInux
    [root@chy002 tmp]# echo "chyuanliulinux" |tr 'a-z' 'A-Z'
    CHYUANLIULINUX
    

    split切割

    # -b 大小【默认单位字节】
    # -l 行数
    # 如果不指定目标文件名,则会以xaa   xab   ...这样的文件名存取切割后的文件。可以指定目标文件名
    
    [root@chy002 ty]# du -sh ty.txt
    244K    ty.txt
    [root@chy002 ty]# split -b 50k ty.txt
    [root@chy002 ty]# ls
    ty.txt  xaa  xab  xac  xad  xae
    [root@chy002 ty]# du -sh x*
    52K     xaa
    52K     xab
    52K     xac
    52K     xad
    44K     xae
    [root@chy002 ty]# split -b 50k ty.txt chy
    [root@chy002 ty]# ls
    chyaa  chyab  chyac  chyad  chyae  ty.txt
    
  • 相关阅读:
    给定一个排序数组,你需要在原地删除重复出现的元素
    OSPF-外部路由
    虚链路
    OSPF域间路由计算,防环
    转 C# 只允许运行一个实例
    转 点击关闭时最小化到任务栏
    C#,int转成string,string转成int
    SQL 查找表名 字段名
    C# *= 运算顺序
    SQL 批量删除表
  • 原文地址:https://www.cnblogs.com/chyuanliu/p/7853826.html
Copyright © 2011-2022 走看看