-
/proc:process,表示进程,该目录中存储的是 Linux 运行时候的进程。(这个目录本身是一个虚拟文件系统,他存的数据都是在内存中的,本身不占磁盘空间)
-
Linux文件类型:
- 普通文件:‘-’ 纯文本文件、二进制文件、数据格式文件
- 目录文件:‘d’(directory)
- 设备文件:通常在/dev目录下
- 字符设备:‘c’(character)键盘、鼠标/dev/input/mice
- 块设备:‘b’(block)硬盘、软盘,提供系统随机存取的接口设备,/dev
- 软链接:‘l’(link)类似Windows的快捷方式,硬链接是普通文件类型
- 管道文件:‘p’(pipe)
- 套接字:‘s’(socket)
-
Linux文件系统各区块:
- Super block:记录整个文件系统的整体信息,包括 inode/block 的总量,使用量,剩余量等(文件系统的的挂载时间、最近写入数据实际等相关信息)
- Inode:记录文件属性和此文件数据所在的 block 号码(通过 inode 可以找到 block,索引式文件系统),一个文件占用一个 inode
- block:记录实际内容,若文件太大会占用多个 block
-
硬链接(实体链接)的指令、原理、特点
-
指令:
ln 源文件 目标文件
-
原理:创建硬链接没有真正创建一个文件,只是在目录的 block 中加了一个关联数据,通常不会增加 inode 和 block 的数量。(当目录的 block 被填满时,还是会新增一个 block,一般硬链接用掉的关联数据很小,所以通常不会增加 block)
-
特点:
- 一般不会增加 inode 和 block,不占空间
- 不能跨文件系统
- 不能链接目录(目录树可能产生环)
- 对硬链接进行读写等操作时,操作的是源文件
- 删除硬链接或源文件,不影响相同 inode 的其他文件
-
-
软链接(符号链接)的指令、原理、特点
- 指令:
ln -s 源文件 目标文件
- 原理:假设 A 是 B 的软链接(A是目标文件,B是源文件),A 和 B 指向的是两个不同的 inode,继而指向两个不同的 block。但是 A 的 block 放的是 B 的路径名。所以如果 A 被删除,B 不受影响,但如果 B 被删除,A 就会变成死链接,因为 A 所指向的文件不见了,所以 A 也就打不开了。
- 特点:
- 相当于快捷方式
- 存文件路径,软链接文件很小
- 使用绝对路径
- 对软链接进行读写操作,系统会自动转换为对源文件的操作
- 软链接的权限是满的,真正的权限取决于源文件
- 源文件被删除,软链接将无法访问
- 指令: