003. Linux基礎三 P4 (inode、軟硬連接)(待修訂)

1 文件元數據和節點表結構

inode表結構

每一個文件的屬性信息,好比:文件的大小,時間,類型等,稱爲文件的元數據(meta data)
node 表中有不少條記錄組成,第一條記錄對應的存放了一個文 件的元數據信息
第一個node表記錄對應的保存瞭如下信息:

node

  • inode number 節點號
  • 文件類型
  • 權限
  • UID
  • GID
  • 連接數(指向這個文件名路徑名稱個數)
  • 該文件的大小和不一樣的時間戳
  • 指向磁盤上文件的數據塊指針
  • 有關文件的其餘數據

目錄

目錄是個特殊文件,目錄文件的內容保存了此目錄中文件的列表及inode number對應關係centos

  • 文件引用一個是 inode號
  • 人是經過文件名來引用一個文件
  • 一個目錄是目錄下的文件名和文件inode號之間的映射

inode表和目錄003. Linux基礎三 P4 (inode、軟硬連接)(待修訂)

CP和inode

分配一個空閒的inode號,在inode表中生成新條目
在目錄中建立一個目錄項,將名稱與inode編號關聯
拷貝數據生成新的文件

ide

rm和inode

連接數遞減,從而釋放的inode號能夠被重用
把數據塊放在空閒的列表中
刪除目錄項
數據實際上不會立刻被刪除,但當另外一個文件使用數據塊時將被覆蓋


centos7

mv和inode

若是mv命令的目標和源在相同文件系統
用新的文件名建立新的目錄項
刪除舊目錄條目對應的舊文件名
不影響inode表(除時間戳)或磁盤上的數據位置:沒有數據被移動
若是src和dst不在同一個的文件系統上,mv至關於cp和rm



spa

刪除大文件

[root@centos7 dir1]# echo abc > a
[root@centos7 dir1]# cat a
abc
[root@centos7 dir1]# cat /dev/null > a
[root@centos7 dir1]# cat a

軟連接和硬連接的區別

硬連接本質上就是給一個文件取一個新的名稱,實質是同一個文件指針

ln filename [linkname]code

軟連接指向另外一個文件,相似快捷方式,軟連接文件和原文件本質上不是同一個文件blog

ln -s filename [linkname]it

[root@centos7 ~]# touch b
[root@centos7 ~]# ll
總用量 4
-rw-r--r--. 1 root root    0 10月 18 09:26 a
-rw-------. 1 root root 1444 10月 18 08:45 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 10月 18 09:31 b
[root@centos7 ~]# ln a c
[root@centos7 ~]# ll
總用量 4
-rw-r--r--. 2 root root    0 10月 18 09:26 a
-rw-------. 1 root root 1444 10月 18 08:45 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 10月 18 09:31 b
-rw-r--r--. 2 root root    0 10月 18 09:26 c
[root@centos7 ~]# ln -s b d
[root@centos7 ~]# ll
總用量 4
-rw-r--r--. 2 root root    0 10月 18 09:26 a
-rw-------. 1 root root 1444 10月 18 08:45 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 10月 18 09:31 b
-rw-r--r--. 2 root root    0 10月 18 09:26 c
lrwxrwxrwx. 1 root root    1 10月 18 09:31 d -> b
[root@centos7 ~]#

003. Linux基礎三 P4 (inode、軟硬連接)(待修訂)

相關文章
相關標籤/搜索