歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix資訊 >> Unix連接知識講解之文件的連接和符號連接

Unix連接知識講解之文件的連接和符號連接

日期:2017/3/6 11:37:48   编辑:Unix資訊

Unix系統中使用i節點(i node)來記錄真實的物理文件及其位置,文件名只是指向i節點的一個Unix連接。因此每個文件可以有多個名字,每個名字就稱為文件的一個連接,而同一個文件的所有連接所指向的i節點件完全相同。

但在刪除時只有全部刪除這個i節點的全部Unix連接,才能刪除i節點、即刪除這個文件本身。

  1. $ ln l1 l2
  2. $ ls -l l*
  3. -rwxr-xr-x 2 user wheel 53212 Dec 4 12:36 l1
  4. -rwxr-xr-x 2 user wheel 53212 Dec 4 12:36 l2
  5. $

上面的例子使用ln創建了一個Unix連接,然後在ls的結果中可以看到第二列的數字為2,這表示這個文件有兩個連接。這樣的連接可以建立在不同的目錄中,但所有連接所在的目錄必須在同一個文件系統中,才能使用同樣的i節點。由於連接是直接指向標識物理文件的i節點,因此這種連接又稱為硬連接。

另一種更靈活的連接方式是符號Unix連接,它沒有指向物理文件的i節點,而是直接指向目錄樹上的另一個入口,那麼當系統訪問這個文件時,就沿著它指向的目錄樹的位置去查找具體文件。

這樣就能對任何文件系統中的文件和目錄建立Unix連接,因此稱為軟連接。符號連接可以跨越文件系統,靈活性很大,能夠突破物理文件系統的限制維護目錄樹的一致性,對於系統管理和維護很有用。

但是這種連接方式需要對目錄樹進行多次查找,增加了文件操作的額外步驟,因此效率較低,因此不應該使用多級連接,及某個符號連接指向的目錄還是一個符號連接,甚至發生符號Unix連接的循環。應該盡量少用符號Unix連接,並避免多級符號連接及符號Unix連接的循環。

  1. $ ln -s l1 /root/files
  2. $ ls -l l*
  3. lrwxrwxrwx 1 user wheel 12 Dec 4 12:36 l1 -> /root/files
  4. $

Copyright © Linux教程網 All Rights Reserved