這是linux中乙個非常重要命令,請大家一定要熟悉。它的功能是為某乙個檔案在另外乙個位置建立乙個同不的鏈結,這個命令最常用的引數是-s,
具體用法是:ln -s 原始檔 目標檔案。
當 我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的 目錄下用ln命令鏈結(link)它就可以,不必重複的占用磁碟空間。例如:ln -s /bin/less /usr/local/bin/less【硬連線】-s 是代號(symbolic)的意思。
這 裡有兩點要注意:第一,ln命令會保持每一處鏈結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;第二,ln的鏈結又軟鏈結 和硬鏈結兩種,軟鏈結就是ln -s ** **,它只會在你選定的位置上生成乙個檔案的映象,不會占用磁碟空間,硬鏈結ln ** **,沒有引數-s, 它會在你選定的位置上生成乙個和原始檔大小相同的檔案,無論是軟鏈結還是硬鏈結,檔案都保持同步變化。
不論是硬鏈結或軟鏈結都不會將原本的檔案複製乙份,只會占用非常少量的磁碟空間。
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 允許系統管理者硬鏈結自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟鏈結時,將 dist 視為一般的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在鏈結之前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份
-s suffix : 將備份的檔案都加上 suffix 的字尾
-v method : 指定備份的方式
--help : 顯示輔助說明
--version : 顯示版本
硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號(inode index)。在linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。硬連線的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要檔案,以防止「誤刪」的功能。其原因如上所述,因為對應該目錄的索引節點有乙個以上的連線。只刪除乙個連線並不影響索引節點本身和其它的連線,只有當最後乙個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案真正刪除的條件是與之相關的所有硬連線檔案均被刪除。
【軟連線】
另外一種連線稱之為符號連線(symbolic link),也叫軟連線。軟鏈結檔案有類似於windows的快捷方式。它實際上是乙個特殊的檔案。在符號連線中,檔案實際上是乙個文字檔案,其中包含的有另一檔案的位置資訊。
2.通過實驗加深理解
[oracle@linux]$ vi test.log #建立乙個測試檔案f1
[oracle@linux]$ ln test.log test1.log #建立f1的乙個硬連線檔案test1.log
[oracle@linux]$ ln -s test.log test2.log #建立f1的乙個符號連線檔案test2.log
[oracle@linux]$ ls -li # -i引數顯示檔案的inode節點資訊
兩種鏈結的區別:
硬鏈結檔案有兩個限制
1)、不允許給目錄建立硬鏈結;
2)、只有在同一檔案系統中的檔案之間才能建立鏈結,而且只有超級使用者才有建立硬鏈結許可權。
對硬鏈結檔案進行讀寫和刪除操作時候,結果和軟鏈結相同。但如果我們刪除硬鏈結檔案的原始檔,
硬鏈結檔案仍然存在,而且保留了願有的內容。
這時,系統就「忘記」了它曾經是硬鏈結檔案。而把他當成乙個普通檔案。
那麼我們就可以這樣理解:硬連線指通過索引節點來進行的連線,其作用是允許乙個檔案擁有多個
有效路徑名,能夠達到誤刪除的作用。
其原因是因為對應的檔案的索引節點有乙個以上的連線。只刪除乙個連線並不影響索引節點本身和其它
的連線,只有當最後乙個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。檔案才會被真正刪除。
注:儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,
稱為索引節點號(inode index即i節點)。
軟鏈結沒有硬鏈結以上的兩個限制,因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網路對檔案進行鏈結。但是軟鏈結的缺點在於:因為鏈結檔案包含有原檔案的路徑資訊,所以當原檔案從乙個目錄下移到其他目錄中,再訪問鏈結檔案,系統就找不到了,而硬鏈結就沒有這個缺陷,你想怎麼移就怎麼移;還有它要系統分配額外的空間用於建立新的索引節點和儲存原檔案的路徑。
linux 建立連線命令 ln s 軟連線
當在不同的目錄,用到相同的檔案時,可以不需要在每乙個需要的目錄下都放乙個必須相同的檔案,只要在某個固定的目錄,放上該檔案,然後在其它的目錄下用ln命令鏈結 link 它就可以,不必重複的占用磁碟空間。例如 ln s bin hello.sh usr local bin hello s 是代號 sym...
Linux建立連線命令 ln s建立軟連線
當在不同目錄使用相同檔案時,可以使用ln命令鏈結,避免了重複占用磁碟空間。例如 ln s bin less usr local bin less 第二,ln的鏈結分軟鏈結和硬鏈結 無論是軟鏈結還是硬鏈結,檔案都保持同步變化 硬連線 硬連線的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以建立硬...
linux 建立連線命令 ln s 軟鏈結
這是linux中乙個非常重要命令,請大家一定要熟悉。它的功能是為某乙個檔案在另外乙個位置建立乙個同不的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案。當 我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,...