Linux 中的各种事物比如像文档、目录(Mac OS X 和 Windows 系统下称之为文件夹)、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端,还有进程间通信(IPC)和网络通信等输入/输出资源都是定义在文件系统空间下的字节流。
一切都可看作是文件,其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具、实用程序和 API。你可以使用同一套api(read, write)和工具(cat , 重定向, 管道)来处理unix中大多数的资源。
Reference:
- Linux文件系统详解
- https://elixir.bootlin.com/linux/v2.6.11/source/include/linux/fs.h
- https://elixir.bootlin.com/linux/v2.6.11/source/include/linux/file.h
- https://elixir.bootlin.com/linux/v2.6.11/source/fs/file_table.c
- https://elixir.bootlin.com/linux/v2.6.11/source/fs/file.c
- https://elixir.bootlin.com/linux/v2.6.11/source/fs/open.c