1,shell特殊符号。
*代表零个或多个任意字符。
?只代表任意一个字符。
#注释符,表示注释内容,它后面的内容都会被忽略。
\脱义字符,会将后面的特殊字符如*还原为普通字符。
|管道符,将前面的命令的输出作为后面命令的输入。后面的命令并不是所有的命令都可以,一般针对文档操作的命令比较常用,例如cat、less、head、tail、grep、cut、sort、wc、uniq、tee、tr、split、sed、awk等。其中grep、sed、awk是正则表达式必须掌握的工具。
$可以用作表示变量前面的标识符,还可以和!结合。!$表示上一条命令中的最后一个变量。
;在一行中输入多条命令,命令直接加上;号。
~用户的家目录。
&把一条命令放到后台去执行,需要加上&号,通常比较用于命令运行时间比较长的情况。
2,命令cut。
cut用来截取某一个字段,其格式为cut -d '分隔字符' [cf] n,这里的n是数字。
选项有:
-d:后面跟分隔字符,要用单引号''括起来。
-c:后面接的是第几个字符。可以是一个数字,也可以是一个区间,还可以是多个数字。
-f:后面接的第几个块区。fn,n代表数字,f和n中间可以不用空格。
2,命令sort。
sort命令用于排序,格式为sort-[-t分隔符] [-kn1,n2] [-nru],n1n2代表数字。
选项的含义:
-t:后面跟分隔字符,跟cut的-d的选项一样。
-n:表示使用纯数字排序。
-r:表示反向排序。
-u:表示去重复。
-kn1,n2:表示由n1区间排序到n2区间,可以只写kn1,表示对n1字段排序。
如果不加任何选项,则是从首字符向后一次按照ASCII码值进行比较,最后将它们按照升序输出。
3,命令wc。
wc命令常用统计文档的行数,字符数或词数。常用选项有-l(统计行数)、-m(统计字符数)、-w(统计字词数)。
4,命令uniq。
uniq命令用来删除重复的行,该命令只有-c选项比较常用,它表示统计重复的行数,并把行数写在前面。使用uniq前必选先给文件排序,否则不管用。
5,命令tee。
tee命令后面跟文件名,其作用类似于重定向>,但是比重定向多一个功能,即把文件写入后面跟的文件时,还显示在屏幕上。
6,命令tr。
tr命令用于替换字符,常用来处理文档中出现的特殊符号。该命令有两个选项:
-d:表示删除某个字符,后面跟要删除的字符。
-s:表示删除重复的字符。
tr常用来把小写字母替换为大写字母,如tr '[a-z]' '[A-Z]'。
也可以替换一个字符。
7,命令split。
split命令用于切割文档,常用的选项为-b和-l。如果不指定目标文件名,则会以xaa,xab。。。这样的文件名来保存切割后的文件,当然我们也可以在后面指定文件名。
-b:表示依据大小来分隔文档,单位为byte。
-l:表示依据行数来分隔。