常用
下面是一些常见的重定向操作:
-
输出重定向:
- 使用
>将命令的输出重定向到文件中。例如,将ls命令的输出保存到list.txt文件中:$ ls > list.txt 这会将ls命令的输出写入到list.txt文件中,屏幕上不会显示输出信息。 - 如果要将新内容添加到文件末尾,可以使用
>>操作符:$ cat image.png >> picture.png
- 使用
-
输入重定向:
- 使用
<将文件中的内容作为命令的输入。例如,将文件a.txt的内容传递给命令:$ cat a.txt < b.txt
- 使用
<<<可以把 字符串 输入导向命令中
深入讲解
- 默认情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
- 标准输入文件 (stdin):stdin 的文件描述符为 0,Unix 程序默认从 stdin 读取数据。
- 标准输出文件 (stdout):stdout 的文件描述符为 1,Unix 程序默认向 stdout 输出数据。
- 标准错误文件 (stderr):stderr 的文件描述符为 2,Unix 程序会向 stderr 流中写入错误信息。
- 可以通过以下方式改变这些通道的方向:
- 将 stdout 重定向到文件:
command > file - 将 stderr 重定向到文件:
command 2> file - 合并 stdout 和 stderr 并重定向到文件:
command > file 2>&1 - 同时替换输入和输出:
command < file1 > file2
- 将 stdout 重定向到文件: