Linux I/O重方向与管道

发布时间 2023-11-29 10:20:27作者: 捣蛋男孩

1. I/O 重定向

命令用法

cat:查看文件内容

sort:对文本内容排序

uniq:用于报告或忽略文件中的重复行,一般与sort命令结合使用

grep:找出匹配的行

wc:打印文件中换行符,字,和字节个数

head:输出文件开头部分

tail:输出文件结尾部分

tee:从标准输入读取数据,并同时写到标准输出和文件

输出重定向
将某个命令默认指向 stdout 或 stderr 的输出文件转而指向一个文件,即使得命令输出到某个指定文件中,而不是输出到终端屏幕或终端窗口。Linux 中使用 > 和 >> 来重定向标准输出。

ls 1>stdout.txt:重定向标准输出到 stdout.txt 文件。若该文件原本不存在,则文件将被创建;否则,文件内容将被强制覆盖。当然,如果不想文件内容被覆盖,可以使用将 > 改为 >>,该命令将标准输出追加到文件末尾。

ls 4.txt 2>stderr.txt:重定向标准错误输出到 stderr.txt 文件。其它用法同上。

ls 1.txt 4.txt 1>stdout.txt 2>stderr.txt:分别重定向标准输出到 stdout.txt 文件,标准错误输出到 stderr.txt 文件。其它用法同上。

ls 1.txt 4.txt &>std.txt:使用 & 重定向标准输出和错误输出到同一个文件。其它用法同上。

输入重定向

输入重定向是指让命令从指定文件中获取输入,而非从 stdin(常常指的是键盘输入)中获取输入。Linux 中使用 < 和 << 来重定向标准输入。

tar 命令的用法:tr 要替换的字符

sort 命令的用法:sort -k 关键字段序号 要排序的文本

2.进程管道

首先使用cat命令查看文本,然后将前面cat命令输出的结果通过管道丢给sort命令,所以sort命令是对前面cat命令输出的文本进行排序,sort跟uniq结合使用才能有效去重,所以通过管道将sort处理后输出的文本丢给uniq处理,所以uniq处理的是排序好的文本,可以进行有效去重。保存好文件后我们可以使用tee命令查看

本章总结:我们学习I/O重定向的使用方法,让我看到了他的炫酷性,也让我们认识到了linux的有趣性,在本章不懂的地方有点多,有时候代码也经常出现错误,下次还得加油。