对于ext2文件系统来 说,在磁盘存储布局上也有inode和超级块的概念,所以很容易和VFS中的概念建立对应关系。...默认情况 下(没有重定向),每个进程的标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)都指向控制终端,因为在程序启动时(在main 函数还 没开始执行之前)会自动把控制终端打开三次...进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上
头文件unistd.h 中有如下的宏定义来表示这三个文件描述符:
#define STDIN_FILENO...我们知道常规文件的这一列应该显示文件尺寸,而设 备文件的这一列显示设备号,这表明设备文件是没有文件尺寸这个属性的,因为设备文件在磁盘上 不保存数据,对设备文件做读写操作并不是读写磁盘上的数据,而是在读写设备...例如,首先 调用close 关闭文件描述符1,然后调用open 打开一个常规文件,则一定会返回文件描述符1,这时候标准输出就不再是终端,而是一个常规文件了,再调用printf就不会打印到屏幕上,而是写到这