shell中的一些特殊符号:html
*:表示任意个任意字符linux
?:表示任意单个字符shell
#:表示注释字符ui
\ :表示脱义字符.net
|:表示管道符3d
cut命令是用来分割code
用法: cut -d 指定分隔符 -f 指定段号 -c 指定第几个字符server
示例:htm
一、 以":"分割,截取passwd文件的第一段blog
cat /etc/passwd |cut -d ":" -f 1
二、截取pass文件第一行
sort命令是用来进行排序
用法:sort -n 以数字进行排序 -r 反序 ,-t 分隔符(通常不使用)
注意点:
sort默认的排序是按ascii码进行排序
sort通常和uniq结合起来使用
如何按照数字排序那么特殊符号和字母大小默认认为是0
示例:
一、不加参数,默认是ascii码进行排序
二、以数字进行排序,字母和特殊符号会被认为是0,因此字母和特殊符号都在数字之上
三、反序
wc命令是用来统计
用法:wc -l 统计行数 -m统计字符数 -w 统计词数
示例:
一、统计行数
二、统计字符数
三、统计词数
uniq命令是用来去重的,通常都是结合sort来进行使用。
用法:uniq -c 统计重复行数
示例:
一、去重
二、统计重复行数
tee命令
tee命令和输出重定向(>)相似,不一样的是tee会把重定向的内容打印到屏幕。tee也支持追加,加个-a参数便可。
示例:
tr命令
tr命令用于替换字符
示例:
一、替换字母
二、替换全部的字母
split命令
split命令用于切割,能够把一个大文件切割为小文件。
用法:split -b 按照大小进行切割,默认单位为字节。 -l 指定行数进行切割
示例
首先生成一个大一点的文件
find /etc -name "*.cnf" -exec cat {} >> 01.txt \;
一、按照100k 大小进行分割,若是不指定名称系统会默认生成文件名。
split -b 100k 01.txt
二、指定文件名
split -b 100k 01.txt wxy
三、指定行数分割
split -l 10000 01.txt
$:变量前缀
!$:正则中表示行尾
; :多条命令写到一行 用";"分割
以下:同时执行ll和统计命令
~:用户家目录,正则中表示匹配符
&:放在命令后门表示后台执行
">":正确重定向
">>":追加剧定向
2> :错误重定向
2>> :错误追加剧定向
&> : 正确错误同时重定向
[]:指定字符中的一个,如[0-9],[a-zA-z]
|| && 用在命令之间。||表示若是前面命令执行成功则不会执行后面的,&&表示前面的命令执行成功才会执行后面的命令
示例:
|| 前面ll命令执行成功后,后面wc命令则不会执行
判断一个目录是否存在,若是不存在则建立
[ -d wxy ] || mkdir wxy
-d 是判断一个目录是否存在
改成&&就会报目录已存在