“|”是管道命令操作符,简称管道符。
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
需注意:它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 standard error 信息没有直接处理能力。
示例:
-- 将文件/etc/passwd中,有出现root 的行取出来。
cat /etc/passwd | grep root
使用cat命令获取/etc/passwd的所有内容,然后通过管道传递给grep命令进行过滤,将包含有root的行过滤出来。
功能等同于下面的语句
grep root /etc/passwd
-- -- 将/etc/passwd,没有出现 root和nologin的行取出来
cat /etc/passwd | grep -v root |grep -v nologin
功能等同于
grep -v root /etc/passwd | grep -v nologin
-- 查询进程描述信息中包含“bash”的进程,然后取最后一条进程信息返回。
ps -ef|grep bash|tail -1