linux如何将输出结果重定向
linux如何将输出结果重定向详细介绍
在 Linux 系统里,重定向输出结果是十分实用的操作,它能把命令的输出保存到文件中,或者将一个命令的输出作为另一个命令的输入。下面为你介绍几种常见的重定向方式:
1. 输出重定向到文件(覆盖模式)
使用 > 符号可以把命令的输出结果重定向到指定文件。若文件不存在,系统会创建它;若文件已存在,文件内容会被新的输出覆盖。
bash
file_list.txt
此命令会把当前目录下的文件和文件夹列表输出到 file_list.txt 文件中。要是该文件原本就存在,其原有内容会被覆盖。
2. 输出重定向到文件(追加模式)
使用 >> 符号可以将命令的输出结果追加到指定文件的末尾。若文件不存在,系统会创建它;若文件已存在,新的输出会添加到文件末尾。
bash
file_list.txt
此命令会把当前目录下的文件和文件夹列表追加到 file_list.txt 文件的末尾。
3. 错误输出重定向
- 将错误输出重定向到文件:使用
2>符号可以把命令的错误输出重定向到指定文件。
bash
non_existent_directory > error.log
这个命令尝试列出 non_existent_directory 目录的内容,由于该目录不存在,会产生错误,错误信息会被重定向到 error.log 文件中。
- 将标准输出和错误输出都重定向到同一个文件:使用
&>符号可以把标准输出和错误输出都重定向到同一个文件。
bash
non_existent_directory existing_directory output.log
这个命令会把 ls 命令的标准输出和错误输出都重定向到 output.log 文件中。
4. 输入重定向
使用 < 符号可以将文件内容作为命令的输入。
bash
numbers.txt
这个命令会读取 numbers.txt 文件中的内容,并对其进行排序。
5. 管道(将一个命令的输出作为另一个命令的输入)
使用 | 符号可以把一个命令的输出作为另一个命令的输入。
bash
912 |
这个命令会列出当前目录下的所有文件和文件夹,然后将输出结果传递给 grep 命令,筛选出文件名包含 .txt 的文件。