linux檔案系統 軟鏈結和硬鏈結

2021-09-22 16:40:13 字數 2297 閱讀 2303

硬鏈結ln src dest

[ubpara link]$ls -il

總用量 8

660108 -rw-rw-r-- 1 ubpara ubpara 9 5月 14 19:41 a

660109 drwxrwxr-x 2 ubpara ubpara 4096 5月 14 19:42 test

[ubpara link]$ln a test/a

[ubpara link]$ls -il test/

總用量 4

660108 -rw-rw-r-- 2 ubpara ubpara 9 5月 14 19:41 a

[ubpara link]$ls -il

總用量 8

660108 -rw-rw-r-- 2 ubpara ubpara 9 5月 14 19:41 a

660109 drwxrwxr-x 2 ubpara ubpara 4096 5月 14 19:42 test

[ubpara link]$

在test中建立a的乙個硬鏈結 其inode號不變,表示當前目錄的檔案a和test目錄下的檔案a都指向相同的資料塊。

660108 -rw-rw-r-- 2 ubpara ubpara    9 5月  14 19:41 a

2 代表硬鏈結數,從1變為2,若刪除其中乙個,硬鏈結數減1

軟鏈結,符號鏈結

ln -s -v src dest

[ubpara link]$pwd

/home/ubpara/link

[ubpara link]$ln -sv /home/ubpara/link/a test/a

'test/a' -> '/home/ubpara/link/a'

[ubpara link]$ls -il test/

總用量 0

660116 lrwxrwxrwx 1 ubpara ubpara 19 5月 14 19:50 a -> /home/ubpara/link/a

[ubpara link]$ls -il .

總用量 8

660108 -rw-rw-r-- 1 ubpara ubpara 9 5月 14 19:41 a

660109 drwxrwxr-x 2 ubpara ubpara 4096 5月 14 19:50 test

[ubpara link]$

在test目錄下建立a的軟鏈結,其inode號不同,是因為其新建的"目錄項"中的內容是 「/home/ubpara/link/a」,許可權為777

[ubpara link]$ls

a test

[ubpara link]$ls -il test/

總用量 0

660116 lrwxrwxrwx 1 ubpara ubpara 19 5月 14 19:50 a -> /home/ubpara/link/a

[ubpara link]$cat test/a

hello

[ubpara link]$rm a

[ubpara link]$ls -il test/

總用量 0

660116 lrwxrwxrwx 1 ubpara ubpara 19 5月 14 19:50 a -> /home/ubpara/link/a

[ubpara link]$cat test/a

cat: test/a: 沒有那個檔案或目錄

[ubpara link]$echo goodbye > a

[ubpara link]$ls -il test/

總用量 0

660116 lrwxrwxrwx 1 ubpara ubpara 19 5月 14 19:50 a -> /home/ubpara/link/a

[ubpara link]$cat test/a

goodbye

[ubpara link]$

若將a的原檔案刪除,那麼a的鏈結就失效了,沒有那個檔案或目錄。當在原路徑中在建立乙個新的檔案a,因為在test目錄下的a的"目錄項"儲存的路徑是"/home/ubpara/link/a" 不變,所以鏈結又能成功

硬鏈結檔案有兩個限制

只能對檔案建立,不能應用與目錄 避免迴圈引用

目錄硬鏈結的數是2

不能跨檔案系統,因為inode不同

建立硬鏈結會增加檔案被鏈結的次數

可應用與目錄

可以跨檔案系統

不會增加被鏈結檔案的鏈結次數

其大小為其執行的路徑所包含的字元個數

檔案系統 硬鏈結 軟鏈結

我們使用ls l的時候看到的除了看到檔名,還看到了檔案元資料 linux7種檔案型別 普通檔案 目錄檔案 管道檔案 軟鏈結檔案 塊裝置檔案 字元裝置檔案socket檔案 ls l讀取儲存在磁碟上的檔案資訊,然後顯示出來 求檔案的大小 8int main 9 其實這個檔案元資訊除了通過ls方式來讀取,...

Linux檔案系統之三 硬鏈結和軟鏈結

linux檔案系統不得不提及的乙個概念便是link鏈結 軟鏈結和硬鏈結 不像windows下的快捷方式讓人容易理解,linux下的鏈結存在一定的迷惑性。要談及link鏈結概念,則必須首先介紹linux下的的檔案的讀取方式 1.由一層一層的目錄取得檔案相關的inode對映資料 2.找到目標檔案的tar...

檔案系統 軟連線和硬鏈結

先,來看一下檔案的各個屬性。圖1 ls li檢視檔案屬性 輸入命令是ls li 第一行 inode 下面會將述inode 第二行 檔案的種類和許可權 第四行 屬組 第五行 所歸屬的組 第六行 檔案的大小 第七行 檔案最後修改的時間 第八行 檔案或者目錄的名稱 其次,讓我們來看一下inode。inod...