您的位置:首页 > 运维架构 > Linux

linux 学习管道 和重定向

2013-10-19 21:28 281 查看
开源文化的理念之一 就是不要重新发明轮子

在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因为几乎所有的命令都是以纯文本来返回的,而纯文本又是绝大多数命令的输入格式,这就让多命令有了协作的可能,linux为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向来完成的。

shell 通过标准输入来输入信息 编号0,正常信息来通过标准输出输出,编号1,通过标准错误来输出错误信息,编号2。

重定向 重定向数据流

关键字 > 将标准输出重定向到文件,如果文件存在则覆盖 比如 ls > outfile

关键字>> 将标准输出重定向到文件 如果文件存在则追加 比如 ls >>outfile

< 重定向到标准输入

关键字 2>将标准错误重定向到文件 (覆盖)ls 2> err (err文件为空是没有反应的,因为没有错误)查找不存在的文件 ls -l sfsdfd 2> err

关键字 2>>将标准错误重定向到文件 (追加)

管道 将一个命令的标准输出,来作为另一个命令的标准输入参数。来实现多命令的协作

比如 查找 详细信息包含P的 文件:

ls -l | grep P

如果 输出的命令还要作为下一个命令的标注输入,则一定要去掉上一个输出的标准错误信息 可以将上一个标准错误重定向的 /dev/null ,重定向到这个文件的 信息都会丢失掉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: