Linux I/O重定向与管道

发布时间 2023-11-23 11:15:57作者: 肖力峰

6.1I/O重定向

  如果在date命令后加“>”,并指向date.txt文件,那么结果就会写入dete.txt文件。具体如下。

  上述命令将date的输出结果重定向到一个普通文件。接着再打开一个终端4,将终端3的date输出结果重定向到终端4。具体如下

0表示标准输入,可以理解为键盘的输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3及以上为常规文件的描述符。

  date命令在默认情况下将输出结果显示在终端,此时文件描述符为1。现在改变输出的方向,从终端改为date.txt文件,这个行为叫作重定向

[root@qfedu ~] # date 1> date.txt

 6.1.1 输出重定向

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

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

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

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

输出重定向(覆盖)

[root@qfedu ~] # date 1> date.txt

输出重定向(在尾部追加)

[root@qfedu ~] # date >> date.txt

6.1.2 输入重定向

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

  加或不加"<"符号,输出结果都一样,但原理不一样的。/ect/passwd一个是作为文件,一个是作为参数。

6.1.4 Subshell

Subshell 是指圆括号里的命令会在另外的进程中执行。

如果不希望某些命令的执行对当前的Shell环境产生影响,请在Subshell中执行