linux命令行关闭描述符
linux命令行关闭描述符详细介绍
在 Linux 命令行中,你可以使用 exec 命令来关闭文件描述符。文件描述符是一个用于标识已打开文件、管道、套接字等 I/O 资源的整数。在 Linux 系统里,标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)对应的文件描述符分别是 0、1 和 2。
下面为你介绍几种关闭文件描述符的情形:
关闭标准输出(文件描述符 1)
若要关闭标准输出,可运用如下命令:
bash
>&-
该命令借助 exec 来重新定向标准输出,将其关闭。此后,所有尝试写入标准输出的操作都会失败。
关闭标准错误输出(文件描述符 2)
若要关闭标准错误输出,可使用如下命令:
bash
>&-
此命令会重新定向标准错误输出,进而将其关闭。此后,所有尝试写入标准错误输出的操作都会失败。
关闭自定义文件描述符
假设你已经打开了一个文件描述符 3,现在要关闭它,可使用如下命令:
bash
>&-
示例
以下是一个完整的示例,展示了如何关闭标准输出并尝试输出内容:
bash
>&-
在这个示例中,执行 exec 1>&- 之后,echo 命令尝试输出的内容不会显示,因为标准输出已被关闭。
要恢复标准输出,你可以重新将其定向到终端:
bash
>/dev/tty
912exec >/dev/tty
这会将标准输出重新定向到当前终端,之后的输出操作将恢复正常。