Linux中的In命令 軟鏈結和硬鏈結

2021-08-31 03:33:33 字數 1348 閱讀 6829

ln是linux中乙個非常重要命令。它的功能是為某乙個檔案在另外乙個位置建立乙個同步的鏈結,這個命令最常用的引數是-s,具體用法是: 

ln -s  原始檔 目標檔案    -s 是 symbolic的意思。 

例:ln  -s  /lib/lsb   /usr/lj

即:在usr目錄下建立指向/lib/lsb目錄的lj檔案。

當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的目錄下用ln命令鏈結(link)它就可以,不必重複的占用磁碟空間。例如:ln -s /bin/less /usr/local/bin/less-s 是代號(symbolic)的意思。這裡有兩點要注意:第一,ln命令會保持每一處鏈結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;第二,ln的鏈結又軟鏈結和硬鏈結兩種,軟鏈結就是ln -s ** **,它只會在你選定的位置上生成乙個檔案的映象,不會占用磁碟空間,硬鏈結ln ** **,沒有引數-s, 它會在你選定的位置上生成乙個和原始檔大小相同的檔案,無論是軟鏈結還是硬鏈結,檔案都保持同步變化。軟鏈結是可以跨分割槽的,但是硬鏈結只能在同一分區內。如果你用ls察看乙個目錄時,發現有的檔案後面有乙個@的符號,那就是乙個用ln命令生成的檔案,用ls -l命令去察看,就可以看到顯示的link的路徑了當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的目錄下用ln命令鏈結(link)它就可以,不必重複的占用磁碟空間。例如:ln -s /bin/less /usr/local/bin/less 

注意: 

第一,ln命令會保持每一處鏈結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化; 

第二,ln的鏈結又軟鏈結和硬鏈結兩種,軟鏈結就是ln -s ** **,它只會在你選定的位置上生成乙個檔案的映象,不會占用磁碟空間,硬鏈結ln ** **,沒有引數-s, 它會在你選定的位置上生成乙個和原始檔大小相同的檔案,無論是軟鏈結還是硬鏈結,檔案都保持同步變化。軟鏈結是可以跨分割槽的,但是硬鏈結只能在同一分區內。

(上**)

個人應用案例:

在linux當中,已存在python2的系統,在/usr/bin目錄下存在pyhon2的軟鏈結pyhon,現在我需要替換成pyhon3,這樣方便於執行程式時候,控制台只需要輸入pyhon xx.py,而不需要使用python3 xx.py來執行,具體可以用下面兩條命令進行設定:

$ mv /usr/bin/python /usr/bin/python.bak  //改名

$ ln -s /usr/python/bin/python3 /usr/bin/python   //重新建立乙個軟鏈結python3

Linux中的硬鏈結和軟鏈結

1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...

linux中的硬鏈結和軟鏈結

硬鏈結 指向同乙個索引節點,進而指向同乙個物理檔案。只要有乙個硬鏈結存在,物理檔案就不會被清除。硬鏈結和原檔案是 平等 的,只刪除乙個不能使檔案真正被刪除。軟鏈結 指向乙個新的索引節點,該節點指向的空間存的是檔案的路徑,根據路徑找到物理檔案。如果軟鏈結建立時指定的那個目錄被 刪除 則無法訪問物理檔案...

linux中的硬鏈結和軟鏈結

linux中的硬鏈結和軟鏈結,從linux的檔案系統和檔案節點這個角度來看,還是比較清晰的。要檢視關於linux檔案系統和檔案節點inode的介紹,可以看我的這一篇部落格。linux的檔案系統結構 superblock和inode節點等介紹 下面就講一講linux中的硬鏈結和軟鏈結。1 硬鏈結 2 ...