I/O重定向与管道

一,I/O重定向

I/O重定向,即输入/输出重定向,是指把命令行的输入重定向为从文件中获取内容,也可以把命令行的输出结果重定向到文件中。

1.1 输出重定向

输出重定向分为正确输出与错误输出。

正确输出:1>,1>>等价于>,>>,1可省略。

错误输出:2>,2>>。

其中,“>”表示覆盖,“>>”表示追加。

【例1】输出重定向(覆盖),具体如下。

【例2】输出重定向(在尾部追加),具体如下。

【例3】错误输出重定向,具体如下。

【例4】正确结果与错误结果都输出到相同位置,具体如下。

【例5】正确结果与错误结果都输出重定向到相同位置,具体如下。

【例6】正确结果保留在文件list.txt,错误结果丢到/dev/null,具体如下。

 1.2 输入重定向

输入重定向与输出重定向异曲同工,下面以具体实例加以说明。

【例1】使用grep命令过滤root,没有改变输入端,默认为键盘,接着把输入重定向到/etc/passwd。

【例2】使用dd命令从/dev/zero中读取数据并写入到file01.txt文件,每次写入1MiB,一共写入两次。

使用输入重定向与输出重定向的方式也可以实现同样的功能。

【例3】使用at命令创建一个计划任务,从现在开始5分钟后创建用户linux,按组合键Ctrl+d结束。

若同时创建多个用户,以此方法从键盘输入会十分烦琐,使用输入重定向则会非常方便。

二,进程管道

管道实际上也是一种重定向,重定向字符控制输出到文件,管道控制输出到其他程序。

管道的作用是把上一个进程的输出作为下一个进程的输入,利用管道可以把若干个命令连接在一起。

【例1】将/etc/passwd中的用户按UID数值大小排序并显示前3行。

其中,“-t”指定字段分隔符,“-k”指定字段,“-n”表示按数值大小排序。

【例2】统计出最占CPU的5个进程。

【例3】打印当前所有IP。

三,总结

输入/输出重定向用于规定输入信息的来源或输出信息的保存,管道用于命令之间,从而提高命令输出值的处理效率。

 

posted @ 2023-11-25 09:16  梦菲如雪  阅读(42)  评论(0)    收藏  举报