输入输出重定向
常用的输入输出重定向操作符如下: 基本重定向操作符
>
:重定向输出
用于将标准输出重定向到一个文件。如果文件已经存在,它会覆盖文件的内容。
示例:echo "Hello, World!" > output.txt
这会将字符串 "Hello, World!" 写入到 output.txt 文件中,如果文件存在,会覆盖其内容。
>>
:追加输出
用于将标准输出追加到一个文件。如果文件不存在,它会创建该文件。
示例:echo "Hello, World!" >> output.txt
这会将字符串 "Hello, World!" 追加到 output.txt 文件的末尾。
<
:重定向输入
用于将文件内容作为命令的输入。
示例:sort < input.txt
这会将 input.txt 文件的内容作为 sort 命令的输入。
错误重定向操作符
2>
:重定向错误输出
用于将标准错误输出重定向到一个文件。如果文件已经存在,它会覆盖文件的内容。
示例:command 2> error.log
这会将 command 的错误输出写入到 error.log 文件中。
2>>
:追加错误输出
用于将标准错误输出追加到一个文件。如果文件不存在,它会创建该文件。
示例:command 2>> error.log
这会将 command 的错误输出追加到 error.log 文件的末尾。
合并输出
&>
:重定向标准输出和标准错误输出
用于将标准输出和标准错误输出都重定向到同一个文件。
示例:command &> output.log
这会将 command 的标准输出和错误输出都写入到 output.log 文件中。
>&
:重定向标准输出和标准错误输出(语法不同)
这是另一种将标准输出和标准错误输出重定向到同一个文件的方式。
示例:command > output.log 2>&1
这会将 command 的标准输出重定向到 output.log,然后将标准错误输出重定向到标准输出。
其他有用的操作符
|
:管道
用于将一个命令的输出作为另一个命令的输入。
示例:ls -l | grep "txt"
这会将 ls -l 的输出通过管道传递给 grep 命令,筛选出包含 "txt" 的行。
&
:后台运行
用于将命令放到后台运行。
示例:command &
这会将 command 放到后台运行,使终端可以继续执行其他命令。
;
:顺序执行
用于顺序执行多个命令。
示例:command1; command2
这会先执行 command1,然后执行 command2。
简单的总结如下:
command > file
将输出重定向到 file。
command < file
将输入重定向到 file。
command >> file
将输出以追加的方式重定向到 file。
n > file
将文件描述符为 n 的文件重定向到 file。
n >> file
将文件描述符为 n 的文件以追加的方式重定向到 file。
n >& m
将输出文件 m 和 n 合并。
n <& m
将输入文件 m 和 n 合并。
<< tag
将开始标记 tag 和结束标记 tag 之间的内容作为输入。
Last updated
Was this helpful?