学堂 学堂 学堂公众号手机端

Linux输入输出重定向

lewis 1年前 (2024-04-20) 阅读数 16 #技术


标准输入输出:



设备

设备文件名

文件描述符

类型

键盘

/dev/stdin

0

标准输入

显示器

/dev/stdout

1

标准输出

显示器

/dev/stderr

2

标准错误输出


输出重定向

输出重定向符号 >

1 标准输出重定向

命令 > 文件 以覆盖方式把命令的正确输出重定向到文件或设备

命令 >> 文件 以追加的方式把命令的正确输出重定向到文件或设备

2 标准错误输出重定向

命令 2> 文件 以覆盖方式把命令的错误输出重定向到文件或设备(2 是文件描述符)

命令 2>> 文件 以追加的方式把命令的错误输出重定向到文件或设备

3 正确和错误输出同时保存

(1) 命令 > 文件 2>&1 以覆盖的方式,把正确和错误输出都保存到同一个文件

(2) 命令 >> 文件 2>&1 以追加方式,把正确和错误输出都保存到同一个文件

(3) 命令 &> 文件 以覆盖的方式,把正确和错误输出都保存到同一个文件

(4) 命令 &>> 文件 以追加方式,把正确和错误输出都保存到同一个文件

(5) 命令 >> 文件1 2>>文件2 把正确的输出追加到文件1,把错误的输出追加到文件2


linux黑洞 null

当程序执行的过程中不需要看到程序的输出时则把输出重定向到null,此时程序的输出既不会显示,也不会保存

命令 &> /dev/null


输入重定向

以wc(word count 统计单词个数)为例

wc < test.log (统计test.log中单词的个数)

wc <<doc

hello world

hello

shell

doc

当使用 << 符号时,程序会把 doc 与 doc 之间的输入当成wc命令的统计对象,当然doc是标识符,这个标识符可以是你想要设置的任意标识符。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门