文件系统详解 |
文件链接 |
6.3 文件系统
6.3.1 文件系统详解
基本磁盘/LVM管理方法都涉及格式化、挂载过程,其中格式化过程,完成了文件系统的创建。 文件系统是管理文件和目录的一套机制(方法)。 文件系统的基本数据单位是文件,它主要是对磁盘上面的文件进行组织管理,组织的方式不同,形成的文件系统也会不同。
6.3.1.1 EXT3/4文件系统
类型:索引文件系统
系统限制:EXT3文件系统最大16TB;EXT4文件系统最大16TB;XFS文件系统最大100TB。
名词:
block:存储文件的实际大小;若文件内容较大,会占用多个block;block的大小默认为4096Byte(4K)。
inode:记录文件的属性(文件的元数据metadata,包括文件大小、权限、属主、属组、块数量、块编号等);一个文件占用一个inode,同时记录此文件数据所在的block number;inode大小为128Byte。
superblock:block与inode的总量;未使用与已使用的inode/block数量。
例:
查看某个分区中inode节点数
df -i | grep vg1
创建一个文件,查看inode信息
touch 文件名 ll -i 文件名 # 再次观察inode节点数 df -i
创建大量文件,观察inode使用情况
touch file{1..65527} # 打开另一个终端,观察inode变化 watch -n 2 'df -i' # 查看文件个数 ls -l | wc -l # 查看磁盘剩余空间 df -Th
结论:inode据定了文件系统中文件的数量,但可以向已存在的文件内输入内容。因此,磁盘空间的由inode和block两方面限制。
6.3.2 文件链接
6.3.2.1 符号链接
软链接(也称符号链接)是指在不同的文件系统之间,将一个文件名关联到另一个文件上,使得该文件名也可以访问该文件。 软链接与原文件不共享inode,它们有不同的inode号和device号。因此,对于软链接和原文件来说,它们的访问权限、所有者、大小等属性可能不同。
例:
创建文件,并输入内容。
echo 111 > file1
创建一个软链接
ln -s /file1 /home/file11
观察软链接
ls -l /home/file11
信息追加
echo 123 >> /file1
删除软链接文件,源文件不变。
删除源文件
rm -rf /file1 ll /home/file11
总结:软连接像快捷方式,可以对文件和目录做软连接;软连接记录的只是源文件的绝对路径;软连接失去源文件不可用。
6.3.2.2 硬链接
硬链接是指在同一个文件系统中,将一个文件名关联到一个已经存在的文件上,使得该文件名也可以访问该文件。硬链接与原文件共享inode,即它们有相同的inode号和相同的device号。因此,对于硬链接和原文件来说,它们的访问权限、所有者、大小等属性都是相同的。
例:
创建文件
echo 222 > /file2
建立硬链接
ln /file2 /file2-h1
查看两个文件
ls -l /file2 /file2-h1
查看链接数
ln /file2 /file2-h2 ls -l /file2 /file2-h1 /file2-h2
删除源文件,观察硬链接中的内容
rm -rf /file2 cat /file2-h1 cat /file2-h2
注意:硬链接不可以针对于文件夹设置。
相较于软链接,硬链接使用频率非常低。
总结:创建同分区硬链接成功,创建不同分区硬链接失败;硬链接的inode号相同,但并不占用block;使用df -k观察硬链接数量无变化;不允许将硬链接指向目录。