Linux命令 – ln 軟鏈接與硬連接區別介紹

ln命令能夠生成軟連接和硬連接,也可叫作符號連接和實體連接。 有興趣深刻理解的能夠查閱相關文檔,通常的讀者只需記住如下幾點便可。

ln命令能夠生成軟連接和硬連接,也可叫作符號連接和實體連接。 有興趣深刻理解的能夠查閱相關文檔,通常的讀者只需記住如下幾點便可:html

  • 1.無論是軟連接仍是硬連接都不會額外增長磁盤空間(雖然實際狀況可能會多佔用1個block)
  • 2.軟連接會佔用1個inode,而硬連接不佔用inode(想深究的能夠自行查閱,不深究的能夠直接略過)
  • 3.硬連接不能跨文件系統,不能連接目錄(能夠得出軟連接是能夠的)。

爲了更好理解舉例以下:node

硬連接:假設在當前目錄有文件名爲linuxidc.jpg(大小爲1M),如今爲它建立硬連接linuxidc-h.jpg,那麼當前目錄就有了2個文件,這2個文件除了名字不同其餘的如出一轍,可是佔用的實際磁盤空間仍是隻有1M,改變任何一個文件的內容另外一個文件也會跟着改變;
當你只刪除linuxidc.jpg或只刪除linuxidc-h.jpg時,文件內容都還在磁盤,只有同時刪除了這2個文件時纔會真的完全刪除該1M的佔用。linux

軟連接:假設在當前目錄有文件名爲linuxidc.jpg(大小爲1M),如今爲它建立軟連接linuxidc-s.jpg,那麼當前目錄就有了2個文件,linuxidc-s.jpg是一個全新的文件大小爲7bytes(等於linuxidc.jpg名稱佔用的字節數),它指向linuxidc.jpg(學過C語言的指針理解起來會很快);
改變任何一個文件的內容另外一個文件也會跟着改變,刪除linuxidc-s.jpg不影響linuxidc.jpg,可是刪除了linuxidc.jpg那麼tmp-s.jpg就會失效由於它找不到它指向的文件了 。bash

我相信經過上面例子的解釋,你應該能夠本身辨別在哪些狀況選擇哪一種連接方式了吧。指針

###bash###
#經常使用命令選項
#默認硬連接
-s      #軟連接
-f      #若是目標文件存在時,直接移除後再建立(危險)

例子:htm

###bash###
#爲/root/linuxidc.jpg生成軟連接
ln -s /root/linuxidc.jpg /tmp/linuxidc.jpg

#爲/root/dir目錄生成軟連接
ln -s /root/dir /linuxidc/dir1

#爲/root/linuxidc.jpg生成硬連接
ln /root/linuxidc.jpg /tmp/linuxidc.jpg

注意:文檔

###bash###
#假設文件夾aaa下有10個文件
ln -s aaa bbb  #生成aaa的軟連接bbb

#將來有一天當你想要刪除軟連接bbb
#只要敲以下命令
rm -f bbb

#千萬別大意敲以下命令,這樣會把aaa裏面的10個文件刪除掉
rm -rf bbb/  #在使用軟鏈接過程當中,請使用絕對路徑,若是使用了想對路徑,可能會出現鏈接數過多錯誤。

 

本文地址:https://www.linuxprobe.com/linux-ln.htmlget

相關文章
相關標籤/搜索