pipe命令在Linux shell中是很重要的概念
管道pipe,意思是上一次命令的输出是下一个命令的输入,但是,我们知道,一个命令的输出,是没有固定格式的
如ls -l一样,输出的是大段大大段的数据,那么我们怎么把这些数据格式化成为我们下一个命令能用的呢?这就要
用Linux下面的一些管道命令了;
1)cut:
cut -d “分隔符” -f “区快” -c “字符界限”
如: cut /etc/passd -d: -f1
cut /etc/passwd -c1-10
2)sort:
排序命令
t:分隔符
r:反序
u:相同的内容只显示一次
n:纯数字排序,不然用字符串排序
+strat-end:由第strat排序到第end区块
3)wc
-l:计算有多少行
-m:计算有多少字节
-w:计算有多少字
4)uniq:
取出输入中间的相同的输入
如:echo -e nihao\\nnihao | uniq
输出仅仅是nihao
5)tee
不仅仅可以将标准输出重定向到文件,还可以依旧在在管道中流传或者输出到屏幕
6)tr
-d:删除一个用用正则表达式表示的字符串
-s:替代重复的字符
如:tr /etc/passwd -d “\r”
tr ‘[a-z]’ ‘[A-Z]’ #将小写改成大写
7)split
-l:按行划分区快,并且存储为文件
-b:按size划分区快
如:split -l 5 test
划分为testaa,testab等等文件
另外,补充一些shell中的特殊符号
~:根目录
‘’:命令优先执行
ctrl+Z:命令暂停执行
ctrl+S:暂停屏幕输出
ctrl+Q:恢复屏幕输出
ctrl+C:中断当前命令
?:代表一个字符
*:代表多个字符
$:变量引用
&:命令后台执行
;连接命令
command1;command2
上面的命令在命令1出错的情况下,命令2依然会执行
command1&&command2
命令1出错,命令2不会执行
command1 || command2
命令1出错,命令2会执行