Linux 文件系统
Linux 文件系统由三部分组成:文件名,inode,block。
Windows 也由这三部分组成。
a.txt -->inode --> block
文件名 存放文件元数据信息 真正存放数据
查看文件文件名:
[root@xuegod63 ~]# cp /etc/passwd a.txt
[root@xuegod63 ~]# ls a.txt
a.txt
(1) 查看 inode 号:
每个文件,都有一个 inode 号。
[root@xuegod63 ~]# ls -i a.txt #使用 ls 命令加-i 参数即可查看文件 inode 号。
440266 a.txt
查看 inode 中的文件属性,通过 stat 命令查看 inode 中包含的内容。
[root@xuegod63 ~]# stat a.txt #查看 inode 信息。
文件:"a.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:811h/2065d Inode:4194497 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2018-09-13 09:38:41.000000000 +0800
最近更改:2018-09-13 09:38:41.000000000 +0800
最近改劢:2018-09-13 09:40:47.940507063 +0800
[root@xuegod63 ~]# ls -l a.txt
-rw-r--r-- 1 root root 1720 Oct 25 10:21 a.txt
(2) block 块:真正存储数据的地方。
为什么删除比复制快?
原因是:
删除文件:
首先找到对应的目录条目删除掉,然后把目录条目上对应的 inode 号码,在 inode 位图中标为空,
不需要删除、也不需要清空该 inode 中保存的数据,让再次存储文件时,覆盖该 inode 即可,该删除
的文件的数据占用的磁盘块,也不需要删除,也不需要清空数据,只需要在磁盘块的位图里标记删除
文件的数据所占用的磁盘块为未使用,磁盘块中存储的数据则不会做任何删除戒更改操作,如果再存
储新的数据,把这些磁盘块弼作未使用的直接覆盖原有的数据。
复制文件:
即创建一个新文件,并把原来的数据填充到新创建的文件中的磁盘块上。
因此删除只是删除文件名,实际数据并没删除,而复制则需要数据填充过程需要时间,所以删除会比
复制快,如图 5-11 所示。