频道栏目
首页 > 系统 > Linux > 正文
Linux入门基础:管道及重定向
2013-09-06 09:34:02      个评论    来源:blog.csdn.net/shuangde800  
收藏   我要投稿

Linux入门基础:管道及重定向

 

不要重复发明轮子

 

开源文化的核心理念之一就是不要重复发明轮子,很多开源软件都是现有软件,代码和功能的重新组合,就好像通过零件装配机器一样,源代码的开放和共享让这成为了可能,同时也大大提高了效率和生产率。

 

管道和重定向

在Linux系统中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个很简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到某个复杂功能的目的。

 

在Linux中,几乎所有命令返回数据都是纯文本的(与因为命令都是运行在CLI下),而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协作成为可能。

 

Linux的命令行为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。

 

 

命令行shell的数据流有以下定义:

 名称 说明 编号 默认

 stdin 标准输入 0 键盘

 stdout 标准输出 1 终端

 stderr 标准错误 2 终端

命令通过stdin接收参数或数据,通过stdout输出结果或通过stderr输出错误。

 

 

通过管道和重定向我们可以控制CLI的数据流

 

重定向:

关键字 定义 例子

 > 将stdout重定向到文件(覆盖)

echo "hello world" > outfile 

ls -l  > outfile

 >> 将stdout重定向到文件(追加)

 echo "hello world"  >> outfile

 date >> outfile

 2> 将stderr重定向到文件(覆盖) ls   -l   nofile  2>  outfile

 2>&1 将stderr与stdout结合 ls  nofile  > outfile  2>&1

 < 重定向stdin

grep  keyword    <  /etc/passwd, 

在passwd文件中找有关键字keyword的行输出

 

 

管道:

   |

将一个命令的stdout作为

另一个命令的stdin

ls -l  |  grep keyword 

find / -user shuangde 2 >  /dev/null |  grep Video  

 /dev/null 所有输出放到这里都会被自动丢弃,就像垃圾桶一样

 

管道通常是用来组合不同的命令,以实现一个复杂的功能

重定向通常用来保存某命令的输出信息或错误信息,可以用来记录执行结果或保存错误信息到一个指定的文件

点击复制链接 与好友分享!回本站首页
相关TAG标签 管道 基础
上一篇:硬盘重装Ubuntu12.04的感受
下一篇:Linux入门基础:命令行文本处理工具
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站