Linux shell有三种输入/输出流:标准输入流(standard input)、标准输出流(standard output)和标准错误流(standard error)。每种输入/输出流都有一个文件描述符(或数字标识符)、一个常用的缩写名和一个可用的默认设备。
例如,用键盘输入时,其实就是将输入发送到标准输入流,缩写为stdin,标识为0。当计算机将输出显示到终端时,使用的就是标准输出流,缩写为stdout,标识为1。如果计算机需要报告错误,并在终端上显示错误信息,使用的就是标准错误流,缩写为stderr,标识为2。
使用ls这个普通的命令,查看这三种输入/输出流。在键盘上输入ls,使用的是stdin。输入ls后按Enter键,目录中文件和文件夹的列表通过stdout显示出来。如果对并不存在的文件夹来运行ls命令,终端上出现的错误信息就是通过stderr而提供的。
表4-1能更直观地帮助你理解这三种流。
|
表4-1 三种输入/输出流 文件描述符(标识符) |
名 称 |
常用缩写名 |
典型的默认设备 |
|
0 |
标准输入流 |
stdin |
键盘 |
|
1 |
标准输出流 |
stdout |
终端 |
|
2 |
标准错误流 |
stderr |
终端 |
本文介绍了Linuxshell中的三种基本输入/输出流:标准输入流(stdin)、标准输出流(stdout)和标准错误流(stderr),它们分别对应不同的文件描述符和默认设备,如键盘、终端。通过实例演示了如何通过ls命令展示这些流的工作原理。

6974

被折叠的 条评论
为什么被折叠?



