Linux多命令协作:管道及重定向
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
作者:WenWu_Both
出处:http://blog.csdn.net/wenwu_both/article/
版权:本文版权归作者和CSDN博客共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任
Linux多命令协作:管道及重定向
- 不要重复发明轮子
- 开源文化的核心理念之一就是不要重复发明轮子,很多的开源软件都是现有软件、代码、功能的重新组合,就好像通过零件装配机器一样,源代码的开放和共享让这成为了可能,同时也大大的提高了效率和生产力。
- 管道和重定向
- 在Linux系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个很简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到完成某个复杂功能的目的。
- Linux中,几乎所有命令的返回数据都是纯文本的(因为命令都是运行在CLI(命令行)下),而纯文本形势的数据又是绝大多书命令的输入格式,这就让多命令协作成为可能。
- Linux的命令行为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。
- 命令行shell的数据流有以下定义
方便管理shell中的信息流
- STDIN 标准输入 编号0 键盘
用来采集信息
- STDOUT 标准输出 编号1 终端
用来输出正常信息
- STDERR 标准错误 编号2 终端
用来输出报错信息
- STDIN 标准输入 编号0 键盘
- 命令通过STDIN接收参数或数据,通过STDOUT输出结果或通过STDERR输出错误
- 通过管道和重定向我们可以控制CLI的数据流
标准输入、标准输出、标准错误
- 重定向
- > 将STDOUT重定向到文件(覆盖),即保存
注意只能保存标准输出信息,错误信息不可以保存
- echo “linuxcast.net” > outfile
文件名
- echo “linuxcast.net” > outfile
- >> 将STDOUT重定向到文件(追加)
注意只能保存标准输出信息,错误信息不可以保存
- echo “linuxcast.net” >> outfile
文件名
- echo “linuxcast.net” >> outfile
- 2>
2代表标准错误的编号
将STDERR重定向到文件中 - 2>&1 将STDERR与STDOUT结合
- < 重定向STDIN
不是很常见
- grep linuxcast < /etc/passwd
相当于在/etc/passwd中查找含有linuxcast关键字的内容
- grep linuxcast < /etc/passwd
- > 将STDOUT重定向到文件(覆盖),即保存
- 管道
使用的最多
- | 将一个命令的STDOUT作为另一个命令的STDIN
- ls -l | grep linuxcast
代表列出含有linuxcast内容的文件
- find / -user linuxcast | grep Video
在linuxcast用户中查找含有Video内容的信息
- ls -l | grep linuxcast
- 可以做到多命令的协作
- | 将一个命令的STDOUT作为另一个命令的STDIN
- 重定向
- 管道通常用来组合不同的命令,以实现一个复杂的功能
- 重定向通常用来保存某命令的输出信息或错误信息,可以用来记录之行结果或保存错误信息到一个指定的文件
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献1条内容
所有评论(0)