特殊符号

  • 通配符,任意个字符 ? 任意个字符 .#注释字符 \ 脱义字符

| 管道

几个和管道有关的命令 cut 选取信息,针对行进行分析 主要参数 -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。 -f :与-d一起使用,指定显示哪个区域。 -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。

sort 排序,默认以ASC码排序

[root@aminglinux01 ~]# sort /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin root:x:0:0:root:/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync

sort -r 倒序

wc 统计

-l 统计行数 -m 统计字符数 -w 统计词 [root@aminglinux01 ~]# wc -l 1.txt 29 1.txt [root@aminglinux01 ~]# wc -m 1.txt 468 1.txt [root@aminglinux01 ~]# wc -w 1.txt 27 1.txt

uniq 排序 -c 去重 [root@aminglinux01 ~]# sort 2.txt 1 1 1 123 123 2 2 2 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 3 abc abc 1111,222 [root@aminglinux01 ~]# sort 2.txt | uniq 1 123 2 21 3 abc abc 1111,222

[root@aminglinux01 ~]# sort 2.txt | uniq -c 3 1 2 123 3 2 21 21 1 3 1 abc 1 abc 1111,222

tee和 >输出重定向类似

[root@aminglinux01 ~]# >a.txt #清空a.txt内容 [root@aminglinux01 ~]# cat a.txt #查看 [root@aminglinux01 ~]# sort 2.txt | uniq -c | tee a.txt #重定向并显示 3 1 2 123 3 2 21 21 1 3 1 abc 1 abc 1111,222 [root@aminglinux01 ~]# cat a.txt 3 1 2 123 3 2 21 21 1 3 1 abc 1 abc 1111,222

[root@aminglinux01 ~]# sort 2.txt | uniq -c | tee -a a.txt #追加 3 1 2 123 3 2 21 21 1 3 1 abc 1 abc 1111,222 [root@aminglinux01 ~]# cat a.txt #查看内容 2 123 3 2 21 21 1 3 1 abc 1 abc 1111,222 3 1 2 123 3 2 21 21 1 3 1 abc 1 abc 1111,222

tr 替换字符

[root@aminglinux01 ~]# echo "aminglinux" |tr '[al]' '[AL]' AmingLinux [root@aminglinux01 ~]# echo "aminglinux" |tr 'a' 'A' Aminglinux

split 切割

[root@aminglinux01 test]# split -b 100k a.txt [root@aminglinux01 test]# ls a.txt xaa xab [root@aminglinux01 test]# du -sh * 128K a.txt 100K xaa 28K xab [root@aminglinux01 test]# split -b 100k a.txt abc. #指定大小 [root@aminglinux01 test]# ls abc.aa abc.ab a.txt [root@aminglinux01 test]# split -l 1000 a.txt #指定行 [root@aminglinux01 test]# ls -l 总用量 260 -rw-r--r--. 1 root root 129633 1月 13 07:31 a.txt -rw-r--r--. 1 root root 41537 1月 13 07:32 xaa -rw-r--r--. 1 root root 35466 1月 13 07:32 xab -rw-r--r--. 1 root root 36841 1月 13 07:32 xac -rw-r--r--. 1 root root 15789 1月 13 07:32 xad [root@aminglinux01 test]# wc -l *
3549 a.txt 1000 xaa 1000 xab 1000 xac 549 xad 7098 总用量

特殊符号

$变量前缀 !$组合,正则里面表示行尾 ;多行命令写到一行,用;分割 ~用户家目录,正则表达式表示匹配符 &放在命令后,会把命令挂起在后台

2> 2>> &> [] 指定字符的一个,[0-9][a-z][A-Z]

||和&& 用于命令中间的逻辑关系

[root@aminglinux01 ~]# ls 1.txt ;wc -l 2.txt 1.txt 32 2.txt [root@aminglinux01 ~]# ls 1.txt || wc -l 2.txt 1.txt
当前面命令成功,不执行后面的命令 [root@aminglinux01 ~]# ls 1.txt && wc -l 2.txt 1.txt
32 2.txt [root@aminglinux01 ~]# ls 1a.txt && wc -l 2.txt ls: 无法访问1a.txt: 没有那个文件或目录 当前面的命令不成功,不执行后面的命令

[root@aminglinux01 ~]# [ -d aminglinux ] || mkdir aminglinux
如果aminglinux 目录不存在,就创建aminglinux目录 [-d n]固定格式 [root@aminglinux01 ~]# ls 1.txt 2.txt 3.txt aaaa.txt aminglinux anaconda-ks.cfg a.txt; :q test

[root@aminglinux01 ~]# [ -d aminglinux ] && mkdir aminglinux mkdir: 无法创建目录"aminglinux": 文件已存在 [root@aminglinux01 ~]# [ -d aminglinux ] || mkdir aminglinux