Linux下的softlink和hardlink

Linux中包括兩種連接:硬連接(hard link)和軟連接(soft link),軟連接又稱爲符號連接(symbolic link)node

建立命令: ln -s softlink destfile/directory #創建軟鏈接 ln hardlink destfile #創建硬鏈接指針

inode 在Linux系統中,內核爲每個新建立的文件分配一個Inode,每一個文件都有一個唯一的inode號,咱們能夠將inode簡單理解成一個指針,它永遠指向本文件的具體存儲位置。文件屬性保存在inode裏,在訪問文件時,inode被複制到內存在,從而實現文件的快速訪問。系統是經過inode來定位每個文件。內存

硬連接(hard link) 硬連接其實是一個指針,指向源文件的inode,系統並不爲它從新分配inode。硬鏈接不會建產新的inode,硬鏈接無論有多少個,都指向的是同一個inode節點,只是新建一個hard link會把結點鏈接數增長,只要結點的鏈接數不是0,文件就一直存在,無論你刪除的是源文件仍是鏈接的文件。只要有一個存在,文件就存在(其實就是引用計數的概念)。當你修改源文件或者鏈接文件任何一個的時候,其餘的文件都會作同步的修改。同步

軟連接(soft link) 軟連接最直觀的解釋:至關於Windows系統的快捷方式,是一個獨立文件(擁有獨立的inode,與源文件inode無關),該文件的內容是源文件的路徑指針,經過該連接能夠訪問到源文件。因此刪除軟連接文件對源文件無影響,可是刪除源文件,軟連接文件就會找不到要指向的文件(能夠類比Windows上快捷方式,你點擊快捷方式能夠訪問某個文件,可是刪除快捷方式,對源文件無任何影響)。file

區別權限

  1. 軟連接和源文件操做權限不同;硬連接與源文件操做權限徹底一致。
  2. 軟連接能夠跨文件系統(分區);因爲inode的限制以及文件系統的可卸載性,硬鏈接不允許跨文件系統。
  3. 軟鏈接能夠對一個不存在的文件名進行鏈接;硬連接不能夠。
  4. 軟鏈接能夠對目錄進行鏈接;硬連接不能夠。
相關文章
相關標籤/搜索