只介绍命令和对应的功能,详细用法可针对性的自行搜索
 管线命令基本上都是对文本进行截取的功能,据我观察,他们基本上会以行为单位。
 以下命令都可以用在管道上,但是有些也可以单独使用。
 以下演示的文件是用last | head -n 12 > lastfile命令得到的。
 1、cut:对文本进行截取
 参数:
 -d:对文本按照指定的符号进行分片,然后显示指定的部分分片
 -c:以字符为单位去除固定字符区间
 举例:
cat lastfile | cut -d ':' -f 3
cat lastfile | cut -c 2-
2、grep:对文本进行过滤
 参数:
 无参时:显示所有带有指定字符串的行,并对指定字符串高亮
 -c:只计算指定字符串的次数
 -i:忽略大小写
 举例:
cat lastfile | grep 'down'
3、sort:以指定规则对文本进行排序,以行为单位
 参数:
 无参时:按照每行前面的字母进行排序
 -f:忽略大小写
 -t:可以指定分隔符按照指定的分片进行排序,默认为tab
 举例:
cat lastfile | sort -t '-' -k 2
4、uniq:去重
 参数:
 -i:忽略大小写
 -c:计数
 举例:
cat lastfile | cut -d ' ' -f 1 | sort | uniq -c
5、wc:计算行数,字符数
 参数:
 无参时:全计算
 -l:仅计算行数
 -w:仅计算英文字数,以四个字符为一个字
 -m:计算总字符数,会把换行符当作一个字符计算
 举例:
cat lastfile | wc
6、tee:转存
 参数:
 -a:以累加形式写入文件
 举例:
cat lastfile | tee -a lfile | cut -d ':' -f 3
7、tr:删除或者替换指定字符,不能改变字符串
 参数:
 -d:删除指定字符串
 -s:指定一个字符删除该字符相邻的相同字符,或者指定两个字符用后边的字符取代前边的字符或者重复字符串
 举例:
cat lastfile | tr 'r' 'd'
cat lastfile | tr -d ':'
cat lastfile | tr -s 'o' 'i'
cat lastfile | tr -s 'o'
8、col:将tab按键边冲空白键,基本上用来转码之类的
 9、join:两个文件当中,有 “相同数据” 的那一行,才将他加在一起,要求文件已排序
 参数:
 无参时:以tab键位分隔符
 -t:可以指定字符进行分隔
 -i:忽略大小写
 -1:指定文件1中用于连接的字段号
 -2:指定文件2中用于连接的字段号
 举例:
join -t ':' -1 4 /etc/passwd -2 3 /etc/group | head -n 3

 10、paste:直接将两行粘在一起
 参数:
 -d:指定分隔符,默认是制表符
 - :表示来自标准输入
 举例:
paste -d '@' lastfile lfile
paste -d '@' lastfile -
11、expand:将制表符转为空格
 unexpand:将空格转为制表符
 12、split:把一个大文件分割成多个小文件
 参数:
 -b:指定分区的文件大小,后可跟单位:b,k,m等
 -l:以行数进行分区
 prefix:可指定小文件的文件名前缀
 举例:
split -b 10k lastfile prefix
split -l 2 lastfile prefix
13、xargs:可以让无法使用管道符的命令使用管道符
 参数:
 -0 :如果输入的 stdin 含有特殊字符,例如 `, , 空白键等等字符时,这个 -0 参数可以将他还原成一般字符。这个参数可以用于特殊状态喔!
 -e :这个是 EOF (end of file) 的意思。后面可以接一个字串,当 xargs 分析到这个字串时,就会停止继续工作!
 -p :在执行每个指令的 argument 时,都会询问使用者的意思;
 -n :后面接次数,每次 command 指令执行时,要使用几个参数的意思。
 当 xargs 后面没有接任何的指令时,默认是以 echo 来进行输出!
 举例:
find /usr/sbin -perm /7000 | ls -l  #这样的话ls 也会执行,但是跟前面的无法关联上,管道符前后的两个命令各自执行
find /usr/sbin -perm /7000 | xargs ls -l  #这样的话就可以用ls -l查看前面查询结果的具体信息
14、-:减号可以当作管道前后的一个替代符,有时候管道前输入的东西需要在命令中间,管道后无法直接接受并处理
 举例:
tar -cvf - /home | tar -xvf - -C /tmp/homeback
15、sed:搜寻、删除和修改文件内容
 这是一个很强大的命令
 sed [-nefr] [动作]
 参数:
 -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行(或者动作)才会被列出来。
 -e :直接在命令行界面上进行 sed 的动作编辑;
 -f :直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的 sed 动作;
 -r :sed 的动作支持的是延伸型正则表达式的语法。(默认是基础正则表达式语法)
 -i :直接修改读取的文件内容,而不是由屏幕输出。
 动作说明: [n1[,n2]]function
 n1, n2 :不见得会存在,一般代表“选择进行动作的行数”,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则“ 10,20[动作行为] ”function 有下面这些咚咚:
 a:新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
 c:取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
 d:删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
 i:插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
 p:打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
 s:取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正则表达式!例如 1,20s/要被取代的字串/新的字串/g
 举例:
 nl lastfile | sed '2,5d':删除第2~5行,d就是删除的意思
 nl lastfile | sed '2,5c characters of replace':用characters of replace取代2~5行的所有内容
 
 sed -i '2,5c characters of replace' lastfile:直接修改源文件