首頁 > 軟體

Linux軟連結和硬連結的區別?

2019-12-17 01:40:35

軟硬連結的使用和區別


1

建立一個檔案123.txt並在裡面寫入內容hello

touch 123.txt   //新建檔案

cat 123.txt   //檢視檔案內容


2

軟連結

例:

對123.txt建立一個軟連結並命名為123-softlink.txt

ln -s 123.txt 123-softlink.txt  //建立軟連線

cat 123-softlink.txt    //檢視軟連結檔案內容

ls -lh    //顯示資訊可以看到軟連結是指向原始檔的並且比原始檔小



3

軟連結相當於Windows的建立快捷方式

刪除原始檔123.txt後123-softlink.txt會失效

驗證:

rm -r 123.txt    //刪除檔案123.txt

cat 123-softlink.txt   //再次檢視剛才的軟連結顯示沒有那個目錄


4

再建立一個檔案1.txt,寫入內容hi

touch 1.txt


5

建立硬連結

例:

對1.txt建立硬連結命名為1-hardlink.txt

ln 1.txt 1-hardlink.txt    //建立硬連結

ls -l   //檢視目錄下所有檔案資訊,這裡可以看到硬連結檔案與原始檔大小相同

cat 1-hardlink.txt   //檢視檔案


6

硬連結間的檔案大小檔案間的大小一致,硬連結相當於一個檔案有多個名字,只刪掉其中一個名字的時候不會刪除檔案,硬連結數會減1,當硬連結數為0時才會刪除檔案,硬連結的inode號相同。

ls -lh  //現在可以看到硬連結數為2

ls -il  //可以看到inode號




7

驗證:刪除檔案1.txt後硬連結1-hardlink.txt依舊生效

rm -r 1.txt  //刪除檔案1.txt

ls -lh  //此時可以看到硬連結數減了1

cat 1-hardlink.txt   //檔案不會因為1.txt刪除而失效


1

ln建立硬連結,帶-s選項命令建立軟連結

軟連線可以對存在及不存在的檔案或目錄建立,硬連結只能對存在的檔案建立

硬連結檔案間有相同的inode號,刪除其中一個硬連結不影響其它同inode號的檔案

刪除軟連結不會刪除它指向的檔案,反之刪除了軟連結指向的檔案軟連結會失效

軟連結作為快捷方式它會比原檔案小,硬連結間檔案大小相同



IT145.com E-mail:sddin#qq.com