文件系统详解

  • EXT4:EXT4是第四代扩展文件系统
  • XFS:XFS一种高性能的日志文件系统

系统限制

  • Ext3: 文件系统最大16TB
  • Ext4: 文件系统最大16TB
  • XFS  :  文件系统最大100TB

索引节点inodeLinux系统基础知识(10)磁盘存储管理-文件系统_硬链接

  • 记录文件的属性(文件的元数据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/”: 不允许将硬链接指向目录

总结

  • 硬链接只能针对文件做。不能对目录做。
  • 硬链接只能在同分区做