UNIX和Linux基础概念详解
1. 快速游览UNIX和Linux
在深入了解之前,我们先对UNIX和Linux内核提供的功能进行快速浏览。这里不涉及UNIX常用的用户程序(如 ls 、 vi 和 grep ),也不探讨内核内部实现细节(如文件系统如何实现)。后续提到的UNIX,若未特别说明,也包含Linux。
1.1 文件
UNIX有多种类型的文件,包括普通文件、目录、符号链接、特殊文件、命名管道(FIFOs)和套接字。下面先介绍前四种。
- 普通文件
- 普通文件包含字节数据,按线性数组组织。可在文件偏移量指定的字节位置进行读写操作,文件偏移量可设为任意值(甚至超出文件末尾)。文件存储在磁盘上。
- 不能在文件中间插入或删除字节。向文件末尾写入字节时,文件会逐字节增大,也可将文件缩小或扩大到任意长度,丢弃或添加零字节。
- 多个进程可同时读写同一文件,结果取决于I/O请求的顺序,通常不可预测。可使用文件锁定设施和信号量来维持顺序。
- 文件没有名称,只有i - 编号。i - 编号是指向i - 节点数组的索引,每个i - 节点包含文件的重要信息,如文件类型、链接数、所有者的用户和组ID、访问权限、大小、访问和修改时间等,以及指向磁盘块的指针,但不包含文件名和数据字节。
- 目录和符号链接
- 为方便使用,引入目录来为文件命名。目录概念上是一个两列表格,一列是文件名,另一列是对应的i - 编号,这种文件名和i - 节点的组合称为链接。
超级会员免费看
订阅专栏 解锁全文

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



