管道命令符介绍与举例
管道命令符的格式为 “命令A | 命令B”,其作用可以用一句话概括为:把前一个命令原本要输出到屏幕的信息当做后一个命令的标准输入。
有了管道命令符,我们就很容易把指令结合到一起使用了,比如统计被限制登录系统的用户个数:
[root@linuxprobe~]# grep /sbin/nologin /etc/passwd | wc -l 40
将原本grep搜集到的信息传给wc -l命令进行了进一步加工。
用翻页的形式(more支持)查看/etc目录中的文件列表及属性信息:
[root@linuxprobe~]# ls -l /etc/ | more
使用ps和grep命令来搜索和bash相关的进程信息:
[root@linuxprobe~]# ps aux | grep bash
先使用ps查找当前正在运行的所有进程,再用grep过滤出包含关键词 "bash" 的进程。
3、一行指令中也可以包含多个管道运算符。
将bash进程相关的信息输出到屏幕并且同时写入到文件中,要使用tee命令:
[root@linuxprobe~]# ps aux | grep bash | tee result.txt root 1070 0.0 0.1 25384 2324 ? S Sep21 0:00 /bin/bash /usr/sbin/ksmtuned root 3899 0.0 0.2 26540 5136 pts/0 Ss 00:27 0:00 bash root 4320 0.0 0.0 12112 1112 pts/0 S+ 00:51 0:00 grep --color=auto bash
文件中也被写入了内容:
[root@linuxprobe~]# cat result.txt root 1070 0.0 0.1 25384 2324 ? S Sep21 0:00 /bin/bash /usr/sbin/ksmtuned root 3899 0.0 0.2 26540 5136 pts/0 Ss 00:27 0:00 bash root 4320 0.0 0.0 12112 1112 pts/0 S+ 00:51 0:00 grep --color=auto bash