管道命令
- 一、概述
- 二、常见用法
- 1. 统计某个目录下的的文件个数
- 2. 对目录下的排序并抓取关键词保存到文件中
- 3. 获取一个目录下的所有子目录名称
一、概述
管道命令是非常有用的工具。在日常工作中用的非常多,他其实是一个并连命令的高级版。用一句话来概括 "把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入”。 把前一个命令的输出作为后一个命令的输入,这样就多串联几组这样的命令起来就像管道 一样工作,就像流水线一样。
执行格式为 “命令 A | 命令 B”。
管道 符| 与两侧的命令之间也可以不存在空格。例如将上述命令写作
ls -al|grep log.txt;
还是推荐在管道符|和两侧的命令之间使用空格,以增加代码的可读性。
ls -al | grep log.txt;
大部分的 Linux 命令都可以用来形成管道。
这里需要注意,command1 必须有正确输出,而 command2 必须可以处理 command2 的输出结果;而且 command2 只能处理 command1 的正确输出结果,不能处理 command1 的错误信息。都是正常的输入才会有正确的输出的。
如果写得比较复杂了,大概率是需要用 bash 脚本来完成。
二、常见用法
1. 统计某个目录下的的文件个数
ls | wc -l
2. 对目录下的排序并抓取关键词保存到文件中
ls | sort | grep vf > 1.txt
3. 获取一个目录下的所有子目录名称
这里用了正则表达式去匹配第一字符
ls -al | grep '^d'