文件連接(軟連接和硬連接)

    每一個新創建的文件都會被分配一個inode,且每個文件都有一個惟一的inode編號。我們能夠將inode簡單理解成一個指針,它指向的是文件在硬盤中的物理位置。文件的屬性也是保存在inode中。node

    系統是通過inode定位文件的,而不是文件名。因此一般情況,爲了提升文件系統的執行效率,訪問過的文件的inode都會被緩存在內存中。linux

    「連接數」其實就是inode的引用計數。因爲linux允許一個文件有多個名字,文件名相當於是對inode的一次引用。windows

 

軟連接

    使用ln命令創建文件連接(軟連接、硬連接),軟連接也叫符號連接(類似快捷方式),好比:bash

     

創建一個軟連接 sh 指向 /bin/bash,使用 ls -l 查看spa

軟連接的文件屬性和目標文件屬性徹底不一樣,按照系統設計,軟連接也要佔據一個新的inode ,也就是說軟連接是一個新的文件,不影響inode的計數。內存

/bin/bash的連接數仍為1。效率

 

硬連接

硬連接的屬性和目標文件的屬性徹底相同,因爲引用的是相同inode,僅僅將連接數作了+1操做。引用

 

  • 刪除文件連接的目標文件,則軟連接會失效,硬連接的連接數-1
  • 軟連接可創建在任何位置,包括網絡;硬連接的目標文件與連接文件必須在同一磁盤分區內
  • 軟硬連接在使用時區別不大,都相當因而一個文件具備不一樣的路徑和文件名

 

做用

軟連接相當於windows中的快捷方式;im

硬連接使得同一個文件能夠擁有不一樣的路徑,還能防止被惡意刪除,因爲刪除也衹是連接數-1。img

相關文章
相關標籤/搜索