Linux5.4 shell特殊符号及管道相关命令
特殊符合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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到前台。
1 2 3 | [root@localhost tmp] # jobs [1]- 已停止 vi 1.txt [2]+ 已停止 vi 2.txt |
使用bg放到后台。放到后台的区别是我可以执行其他命令,放到前台的区别是我可以操作这个命令。
命令+& 直接放到后台
cut截取分割
1 2 3 4 5 6 7 8 9 | # -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排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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 统计行数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #-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去重
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # 仅仅对挨着的两行相同的去重,所以需要先排序。 # -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命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 与输出重定向>类似,重定向到后面所跟文件中,同时屏幕显示。 # -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替换字符
1 2 3 4 5 6 7 8 | [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切割
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # -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 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步