linux系统中输出重定向是指?

linux系统中输出重定向是指?,第1张

Linux下默认有两种输出流:

1 - 标准输出流

2 - 标准错误输出流

Linux下一切皆文件,这里的1和2表示的就是输出设备文件的文件描述符。

默认情况下,无论是标准输出还是标准错误输出,都是输出到终端显示的。

但也可以通过重定向输出到其他地方,如文件。这就是输出重定向。

并且,这两种输出流可以被分别重定向。

下面举例:

假设文件file.txt在当前目录下并不存在,执行下面的命令:

ls file.txt 2>log.txt

这样就将错误输出重定向到文件log.txt中。

ls file.txt 2>/dev/null

这样就什么都看不到,将标准错误输出流重定向到/dev/null中,丢弃了。

ls file.txt >/dev/null

只将标准输出重定向到/dev/null中,这样仍然可以在终端窗口看到错误输出。

注:>/dev/null 等同于 1>/dev/null,前面的1可省略。

Unix/linux/BSD 都有三个特别文件,分别 1)标准输入 即 STDIN , 在 /dev/stdin , 一般指键盘输入, shell里代号是 0 2) 标准输出 STDOUT, 在 /dev/stdout, 一般指终端(terminal), 就是显示器, shell里代号是 1 3) 标准错误 STDERR, 在 /dev/stderr 也是指终端(terminal), 不同的是, 错误信息送到这里 shell里代号是 2 摘自:YEYUANGEN的专栏

Linux下默认有两种输出流:

1 - 标准输出流

2 - 标准错误输出流

Linux下一切皆文件,这里的1和2表示的就是输出设备文件的文件描述符。

默认情况下,无论是标准输出还是标准错误输出,都是输出到终端显示的。

但也可以通过重定向输出到其他地方,如文件。这就是输出重定向。

并且,这两种输出流可以被分别重定向。

下面举例:

假设文件file.txt在当前目录下并不存在,执行下面的命令:

ls file.txt 2>log.txt

这样就将错误输出重定向到文件log.txt中。

ls file.txt 2>/dev/null

这样就什么都看不到,将标准错误输出流重定向到/dev/null中,丢弃了。

ls file.txt >/dev/null

只将标准输出重定向到/dev/null中,这样仍然可以在终端窗口看到错误输出。

注:>/dev/null 等同于 1>/dev/null,前面的1可省略。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6181062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存