『Linux从入门到精通』 - 文件描述符及重定向——为何说Linux下,一切皆文件?
在Linux系统中,文件描述符是一个非负整数,它用来标识一个特定的文件。每个进程都有一个文件描述符表,用于管理打开的文件。
文件描述符0通常是标准输入(stdin),文件描述符1是标准输出(stdout),文件描述符2是标准错误(stderr)。
重定向是指改变标准输入、输出和错误的默认位置。在Shell中,可以使用>
、<
、>>
、2>
、&>
、<&
等操作符来进行重定向。
例如:
command > file
:将标准输出重定向到文件中,如果文件存在则覆盖它。command >> file
:将标准输出追加到文件中。command < file
:将标准输入重定向为文件。command 2> file
:将标准错误重定向到文件中,如果文件存在则覆盖它。command 2>> file
:将标准错误追加到文件中。command > file 2>&1
:将标准输出和标准错误都重定向到同一个文件中。command <& n
:将输入重定向到文件描述符n。command >& n
:将输出重定向到文件描述符n。
这些重定向操作可以让你在运行命令时,根据需要将输入和输出流重定向到不同的位置,例如其他文件、管道等。
评论已关闭