Linux中的硬連線和軟連線
阿新 • • 發佈:2018-12-14
硬連線:
如果A檔案和B檔案的關係是硬連線的關係。當用戶修改了A檔案的內容,那麼B檔案的內容也會發生更改。如果修改的B檔案,那麼A檔案的內容也會發生更改。
特點:
1、硬連線不限於兩個檔案之間,可以在多個檔案之間進行。ls -l 命令中顯示了檔案的硬連線數
2、不能對目錄做硬體連線
3、不能在不同的檔案系統之間做硬連結(Linux的檔案系統:ext4,xfs等等)
4、所有的硬連線,具備相同的iNode節點號
軟連線:
類似Windows中的快捷方式。為一個原始檔建立一個快捷方式。
1、如果原始檔被刪除了,也沒有辦法使用該快捷方式。一旦以同樣檔名建立了原始檔,連結將繼續指向該檔案的新資料
2、在ls -l 中,軟連結作為一種特殊的檔案型別顯示出來,其第一個字母是l。
3、軟連結的大小是其連結檔案的路徑名中的字元數。
ln命令:用來建立硬連線和軟連線
給file1 建立硬連線
[[email protected] ~]#ln file1 file2
給file1建立軟連線,file2為建立好的軟連線名
[[email protected] ~]# ln -s file1 file2
pwd -P 顯示檔案的實際路徑,而不是軟連線的路徑
[[email protected] ~]# cd /bin/ [[email protected] bin]# pwd /bin [[email protected] bin]# pwd -P /usr/bin
刪除軟連線,要特別注意一個地方,本人為此付出過慘重代價。 如果軟連線,連線到的是一個目錄
正確的刪除方法
[[email protected] ~]#rm -rf ../dir
錯誤的刪除軟連線方法,這樣會把實際目錄中的所有檔案都刪除!
[[email protected] ~]#rm -fr ../dir/
本人曾經在升級MongoDB資料庫的時候,裡面用到了軟連線。我在刪除軟連線的時候,用了錯誤的方法,導致資料庫裡面的內容都被俺給刪了!