命令1 | 命令2
把前一个命令原本要输出到屏幕的信息当作后一个命令的标准输入
练习:统计不能登录的用户数量?
grep /sbin/nologin | wc -l
练习:用翻页的形式,查看 /etc 目录列表?
ls -l /etc | more
练习:使用一条命令修改用户密码?
// 我们passwd修改密码时,需要二次确认,但是假如在脚本中运行时,就很不方便了,我们可以按下面的方式执行,一次搞定
echo "123123" | passwd --stdin root
练习:搜索与bash有关的进程信息?
ps aux | grep bash | grep -v bash
通过上面几个简单的例子,我们也明白了管道的作用:
将多个简单命令组合到一起,共同完成一件复杂任务,在 shell 脚本中的使用是非常常见的。
问题:如果我想将管道处理后的结果,既输出到终端,又写入文件呢?
比如Jenkins,阿里云流水线自动部署时,产生的日志,我们就需要展示一份,保存一份了。
练习:查找与bash相关的进程,并输出到终端,同时保存一份到文件?
ps aux | grep bash | grep -b grep | tee res.txt