有时文件数不清
这时需要使用管道符号|
(从一个容器灌到另一个小口容器,就要用漏斗)
管道就是这个作用
[root@localhost 桌面]# rm -fr *
[root@localhost 桌面]# ls |wc -l
0
[root@localhost 桌面]# ls /bin/ | wc -l
1534
把前面一条命令的输出转化为后一条命令的输入,然后让后一条命令作用
如果想同时拷贝一份输出,用tee
[root@localhost 桌面]# ls /bin/ | tee westos | wc -l
1534
[root@localhost 桌面]# wc -l westos
1534 westos
桌面上就多了一个文件westos,里面放着/bin/所有输出 , 而另外一份输出被wc -l接收到了,所以显示出了统计结果
管道只能通过正确的内容,错误的内容没法通过
[root@localhost 桌面]# ls westos hello | wc -l
ls: 无法访问'hello': 没有那个文件或目录
1
这里注意,显示了一个“1”,1表示两个里面有一个通过了管道,错误的留在了屏幕上。显示2表示两个都通过了。
如要让错误的也能过去:
就把过不去的东西扔到能过去的东西里就行了,如下操作,就显示2了(2>&1)
[root@localhost 桌面]# ls westos hello 2>&1 | wc -l
2