linux - Bash的基本功能(输出重定向)

时间:2021-09-20 01:33:57

1.标准输入输出
   设备 设备文件名    文件描述符    类型
键盘 /dev/stdin 0 标准输入
显示器 /dev/stdout
1 标准输出
显示器 /dev/stderr 2 标准错误输出

标准的输入输出设备就这些,还有其他的输入输出设备:鼠标,打印机,投影仪等。

linux - Bash的基本功能(输出重定向)

我们可以把输出到屏幕上的结果重定向到文件里;

ls > text.log 把ls命令的结果保存到text.log 文件中, text.log文件不存在会自动创建, > 会覆盖之前文件的内容,我们用 ls >> text.log 就会追加而不会覆盖。这是保存正确的输出信息。  > 和 >> 两边是空格的。

ls 2>text.log 把ls命令错误的信息保存到text.log 文件中, text.log文件不存在会自动创建, > 会覆盖之前文件的内容,我们用 ls 2>>text.log 就会追加而不会覆盖。这是保存错误的信息。  2> 和 2>> 两边是空格的。

这个命令比较不实用,我们都知道命令错误还会不修改是吧,他错误和正确保存信息格式不一样就没太大用处。

所以我们用下面的

linux - Bash的基本功能(输出重定向)

ls &>>text.log 错误和正确都放入同一个文件

ls>>text.log 2>>text2.log 错误和正确分开放入文件

我们在有些情况下,只想知道结果,而不管过程,过程产生的我们不关心,我们可以放入系统提供的一个空洞文件,相当于一个垃圾袋,放入就找不到了

ls &>/dev/null

linux - Bash的基本功能(输出重定向)

直接输入wc回车然后开始随意输入完毕后  ctrl + D 结束输入  显示输入了 7 行 9个单词(以空格和换行区分) 43个字符。我们也可以加上选项只查看单个内容。

linux - Bash的基本功能(输出重定向)

linux - Bash的基本功能(输出重定向)

我们的WC 命令是统计键盘输入的,但是我们把键盘输入重定向到文件,就可以统计文件的信息了。

wc < text.log            wc text.log 这两种都可以计算文件的信息。

wc << cl ..... cl 这种是一个标记当 << 后面的内容遇到第二个时,中间的内容就会被统计。

linux - Bash的基本功能(输出重定向)