* 任意个任意字符
? 任意一个字符
# 注释字符
\ 脱义字符
| 管道符
# cat /etc/passwd | head //显示passwd的前十行(默认)
# cat /etc/passwd | haed -2 //显示passwd的前两行(指定)
# cat /etc/passwd | haed -2 | cut -d “:” -f 1 //cut -d “:” 使用:分割, -f 第几段
# cat /etc/passwd | haed -2 | cut -d “:” -f 1,2 //第一段和第二段
# cat /etc/passwd | haed -2 | cut -d “:” -f 1-3 //第一段到第三段
cut 分割,-d 分隔符 -f 指定段号 -c 指定第几个字符
sort 排序, -n 以数字排序 -r 反序 -t 分隔符 -kn1/-kn1,n2(-t 不经常用)
wc -l 统计行数 -m 统计字符数(统计字符数一般末尾还有$符号用#cat -A 1.txt 查看) -w 统计单词
uniq 去重, -c统计行数
tee 和>(重定向)类似,重定向的同时还在屏幕显示,-a 追加重定向
tr 替换字符,tr ‘a’ ‘b’,大小写替换tr ‘[a-z]’ ‘[A-Z]’
split 切割,-b大小(默认单位字节),-l 行数
# sort 2.txt |uniq -c |tee a.txt //对2.txt排训和去重后 重定向给a.txt
# > a.txt //代表清空a.txt (很实用)
# echo “aminglinux” | tr ‘a’ ‘A’ //更换a到大写的A
# echo “aminglinux” | tr ‘[a-z]’ ‘[A-Z]’ //更换小写到大写
有时在运维的时候,有些日志长时间没有去管理,最后变成了500G,要是想要查看一下不是太容易,我们需要切割一下然后去一段段的查看:
# split -b 100M filename //filename按照一份100M去切割(不加单位,默认是bite字节)
# split -l 1000 filename //filename按照1000行一份去切割
# split -b 100K filename aaa //指定切割名字使用aaa开头
[ ] 指定字符中的一个,[0-9],[a-zA-Z],[abc] //非常重要,指其中的一个字符
# ls a.txt || wc -l 2.txt || 的意思是前面一条命令执行不成功,才会执行第二条;
# ls 111 && cat 2.txt && 的意思是前面一条命令执行成功,才会执行后面的命令;
例子:
判断一个目录中是否有此目录,如果没有就创建,如果有就不创建!
# [ -d dir1 ] || mkdir dir1 //如果此目录中有dir1目录就不创建,没有就创建一个!