本文共 2604 字,大约阅读时间需要 8 分钟。
号:通配符,可以匹配零个或任意多个字符
? 号:单配符, #号:注释符,该符号后跟的命令或参数不会执行 \号:加注在特殊符号前使其失去指令意义 |管道符:把一条命令的结果传递给另外一条命令,注意后一条命令不是什么命令都可以,一般是针对文档的命令。例如less、more、head、tail、grep、sed、awk等等。 $ :变量前缀,!¥ ; 多条命令写到一行时用;分割 ~ 用户家目录替代符,root的家目录,正则中表示匹配符 & 放在命令末尾表示把命令放到后台把正确和错误的结果都输出到一个文件
用在shell中表示或者
表示如果命令1失败则执行命令2,若命令1成功则不执行命令2,命令1、2之间只有一条命令会执行 &&表示如果命令1失败,则命令终止,所有命令都不会执行,若命令1成功则命令2才会执行,命令1、2要么都执行,要么都不执行。示例
1、II与&&特殊符号含义示例
本例中只有当ls test2成功后才会执行 touch test2命令。因为test2不存在,所以前一条命令不成功,后面一条命令就不会执行那么我们换成 ls test2 || touch test2看看
本例中,因为前面一条命令 ls test2失败了,于是第2条命令就被执行了分隔符
cut命令用来显示行中的指定部分,删除文件中指定字符串。 命令写法:cut -d “分割标记” -f 第几段至第几段 cut -c n(第几个字符) 选项: -c:仅显示行中指定范围的字符; -d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容; 用法举例: 1、命令:cat /etc/passwd |head -2 |cut -d ":" -f 1
图中标记1:选项-d用来制定分割符号,passwd文件中用的是“;”号,于是我们就输入-d “;”让程序认出文本中的分段,为-f 选项提供分段依据 图中标记2:选项-f是选择第几段到第几段,竖排的叫段,相当于excel的选取单列。 图中的命令含义就是显示passwd文件中的前2行文字的第1段,分段符是分号“;” 2、命令:cat /etc/passwd |head -2 |cut -c 4
sort命令对文件中的某一字段进行排序,默认按ASCII码顺序,但受环境变量LC_ALL影响,默认情况下该变量值为空,并将排序结果标准输出(相当于把排序结果cat到屏幕上)。sort命令既可以从特定的文件,也可以从stdin中获取输入。关于sort命令的排序标准,参见这篇文章(转载至: )
命令写法
选项: -t<分隔字符>:指定排序时所用的栏位分隔字符; -n:依照数值的大小排序,采用该选项时,字母或者符号开头的文字会被认为数值是0而排在前面; -r:以相反的顺序来排序; -u:表示去重复 -kn1,n2:表示由n1区间排序到n2区间,可以只写-kn1,即对n2字段排序。 用法举例: 1、对文件passwd前5行进行排序 命令:head -n 5 /etc/passwd | sort
默认情况是root在第一行的。这里adm这个到第一行了。 2、对文件test1按数字排序 注意符号和字母的行因为等于0所以排在前面 3、对passwd文件前三行按照第三列数字大小排序并输出结果。 head -n 3 /etc/passwd | sort -t “:” -k3 -n
wc命令用于统计文档的行数、字符数或词数。
选项: -l :统计行数 -m:统计字符数 -w:统计词数 用法举例 我先新建一个测试文档,他的内容是下面这个 1、wc -l 统计行数 2、wc -m统计字符数(注意末尾那个$表示换行的意思) 3、wc -w统计词数 看来应该是把只要是两个分隔符之间的东西就认为是一个word。这个word不是语言学上的word。uniq命令是用来去重的,他去的是两个连续行之间的重,那么你第一行和第三行内容重复的话,uniq是不去的,所以我们一般把这个命令和sort一起用,先排序再去重。注意结果是输出到屏幕中,不会去修改原始文件,除非你用重定向把原始文件内容修改掉。
选项: -c 统计某一内容重复次数 用法举例: 1、排序1.txt 并去重显示,同时显示某一字符串重复次数。tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。tee - read from standard input and write to standard output and files,简单的说就是把数据重定向到给定文件和屏幕上。该命令一般跟在|管道符之后。
选项: -a 追加,像>>追加重定向。 用法举例:echo "i am learning linux" | tee 2.txt
tr命令用于替换字符,从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
用法:tr [选项]... SET1 [SET2] 选项: -d 删除某个字符,后面跟要删除的字符 -s删除重复的字符,注意是连续相同的字符 用法举例: 1、替换文字中的小写字母为大写字母echo "HELLOWORLD" | tr '[A-Z]' '[a-z]'
2、替换某个字符
cat 1.txt | tr '1' '@'
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。实际工作中比如你碰到一个10G的日志文件,这时你不做切割基本无法查看他,所以我们需要split他来查阅。
用法:split [选项]... [输入 [前缀]]
选项
-b 指定分割后每个文件大小,可以写成10KB、1.44MB等等 -l 指定多少行为一个分割文件用法举例:
1、把一个文件拆成1000字节一个文件,并以test为前缀split -b 1000 a.txt test
本文转自 whytl 51CTO博客,原文链接:http://blog.51cto.com/11934539/2060534