文件系统详解
- EXT4:EXT4是第四代扩展文件系统
- XFS:XFS一种高性能的日志文件系统
系统限制
- Ext3: 文件系统最大16TB
- Ext4: 文件系统最大16TB
- XFS : 文件系统最大100TB
索引节点inode
- 记录文件的属性(文件的元数据metadata)包括文件的属性,大小,权限,属主,属组,连接数,块数量,块的编号
- 一个文件占用一个inode,同时记录此文件数据所在的block numbber
- inode大小 为 128 bytes
存储文件的实际数据block(块)
- 实际存储文件的内容,若文件较大,会占用多个block
- block大小 为默认为4K
superblock
- block 与 inode 的总量
- 未使用与已使用的 inode / block 数量
block group
- 块组
示例1:inode(index node 索引节点)
- 创造一个文件,观察inode信息 “ll -i 文件名”
[root@localhost /]# ll -i
33808625 -rw-r--r--. 1 root root 55 May 2 21:49 for.sh
示例2:block(块 文件内容)
观察某个分区中的inode节点数
[root@localhost /]# df -i /dev/sda1
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 341 523947 1% /boot
创建一个文件
[root@192 ~]# cd /boot/
[root@192 boot]# touch {1..100}.txt
[root@192 boot]# df -i /dev/sda1
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 342 523847 1% /boot
- 结论:inode决定了文件系统中文件的数量。
- 结论:block决定了文件存储的空间
文件链接
符号链接/软连接
symbolic link /软链接
创建一个文件,并输入内容。
[root@localhost ~]# echo 111 > /file1
[root@localhost ~]# ln -s /file1 /home/file11 //创建一个软连接
[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
观察软连接文件
[root@localhost ~]# ll /file1 /home/file11
-rw-r--r-- 1 root root 4 Dec 20 17:57 /file1
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
查看两个文件,内容一致
[root@localhost ~]# cat /file1
111
[root@localhost ~]# cat /home/file11
111
删除源文件,软连接不可用
[root@localhost ~]# rm -rf /file1
[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
总结
- 软连接像快捷方式,可以对文件和目录做软连接。
- 软连接记录的只是源文件的路径。
- 软连接失去源文件不可用。
硬链接
创建同分区硬链接成功,创建不同分区硬链接失败
[root@localhost ~]# echo 222 > /file2
[root@localhost ~]# ln /file2 /file2-h1
[root@localhost ~]# ln /file2 /home/file2-h2
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
硬链接删除源文件,依然可以用
[root@localhost ~]#rm -rf /file2
[root@localhost ~]#cat /file2-h1
222
不允许将硬链接指向目录
[root@localhost home]# ln /home/ /mnt
ln: “/home/”: 不允许将硬链接指向目录
总结
- 硬链接只能针对文件做。不能对目录做。
- 硬链接只能在同分区做