这篇文章主要介绍了Linux中重定向和管道的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制。在shell中,我们通常使用符合“|”来表示管道,符号“>”和“


重定向

系统设定的输入输出

默认输出设备:标准输出,STDOUT,1
默认输入设备:标准输入,STDIN,0
标准错误输出:STDERR,2

标准输入:键盘标准输出和错误输出:显示器linux中的I/O重定向

标准输入 (stdin): 代码为0,使用
标准输出 (stdout): 代码为1,使用>或>>;
标准错误输出(stderr): 代码为2,使用2>或2>>;
“>” “>>”

>:覆盖输出>>:追加输出#set-C禁止对已经存在文件使用覆盖重定向;强制覆盖输出,则使用>|#set+C关闭上述功能

“2>” “2>>”

2>:重定向错误输出2>>:追加方式将正确的与错误的分别存入不同的文件中#ls//varr>/tmp/var3.out2>/tmp/err.out#ls/varr>/tmp/var4.out2>/tmp/var4.out/dev/null垃圾桶黑洞装置&>:重定向标准输出或错误输出至同一个文件(或者2>&1)

输出重定向(将原来需要由键盘输入的数据,改由文件内容来取代)#tr'a-z''A-Z'

HereDocument(代表结束的输入字符)#cat#cat>>/tmp/myfile.txt/dev/null,软件设备,bitbucket,数据黑洞,将内容输出定向到该设备下无任何返回内容管道

管道是将前一个命令的输出作为后一个命令的输入 命令1 | 命令2 | 命令3 | ……

#echo"helloworld."|tr'a-z''A-Z'#echo"redhat"|passwd--stdinhive#cut-d:-f1/etc/passwd|sort|tr'a-z''A-Z'#echo"Hello,World."|tee/tmp/hello.out#tee:显示内容并将内容保存在文件中#wc-l/etc/passwd|cut-d''-f1练习:1、统计/usr/bin/目录下的文件个数;2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;3、思考:如何显示/var/log目录下每个文件的内容类型?4、取出/etc/inittab文件的第6行;5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;6、显示/etc目录下所有以pa开头的文件,并统计其个数;7、不使用文本编辑器,将aliascls=clear一行内容添加至当前用户的.bashrc文件中;

感谢你能够认真阅读完这篇文章,希望小编分享的“Linux中重定向和管道的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!