重定向的linux命令
重定向的linux命令详细介绍
在 Linux 系统里,重定向操作能够把命令的输入或输出重新定向到别的位置,而非默认的标准输入(键盘)、标准输出(终端屏幕)或标准错误输出(终端屏幕)。下面是一些常见的重定向命令:
输出重定向
- 覆盖输出重定向 (
>):把命令的输出结果覆盖写入到指定文件中。要是文件不存在,会创建该文件;若文件已存在,会清空文件原有的内容。
bash
file_list.txt
上述命令将ls命令的输出结果覆盖写入到file_list.txt文件里。
- 追加输出重定向 (
>>):把命令的输出结果追加到指定文件的末尾。要是文件不存在,会创建该文件。
bash
file_list.txt
这个命令会把New line追加到file_list.txt文件的末尾。
输入重定向
- 输入重定向 (
<):把文件内容作为命令的输入。
bash
numbers.txt
此命令会对numbers.txt文件中的内容进行排序。
错误重定向
- 错误输出重定向 (
2>):把命令执行过程中的错误信息输出到指定文件中。
bash
non_existent_directory > error.log
上述命令尝试列出non_existent_directory目录下的文件和文件夹,若该目录不存在,错误信息会被写入error.log文件。
- 标准输出和错误输出合并重定向 (
&>或2>&1):把标准输出和错误输出都重定向到同一个文件。
bash
non_existent_directory existent_directory output.log
该命令会把标准输出和错误输出都写入output.log文件。
管道 (
|)
管道用于把一个命令的输出作为另一个命令的输入。
bash
.txt
912 | .txt
这个命令先使用ls列出当前目录下的文件和文件夹,然后把输出结果作为grep命令的输入,筛选出文件名包含.txt的文件。