Linux軟硬連線

2021-07-08 17:16:11 字數 2951 閱讀 5510

1、建立乙個軟連線

[root@auc-linux home]# ln -s /usr/hb/ /home/hb_link

2、刪除軟連線出現錯誤

[root@auc-linux home]# rm /home/hb_link/

rm: 無法刪除"/home/hb_link/": 是乙個目錄

3、刪除軟連線的正確方式

[root@auc-linux home]# rm /home/hb_link/

rm: 無法刪除"/home/hb_link/": 是乙個目錄

[root@auc-linux home]# rm /home/hb_link

rm:是否刪除符號鏈結 "/home/hb_link"?y

4、只是刪除了軟連線檔案(正確方式)

[root@auc-linux home]# rm -rf /home/hb_link

[root@auc-linux home]# ll /usr/hb/

總用量 4

-rw-r--r-- 1 root root 12 6月   4 18:09 hb.txt

5、錯誤操作,通過軟連線刪除了實際存在的資料。

[root@auc-linux home]# ln -s /usr/hb /home/hb_link

[root@auc-linux home]# ls

1234.cap  freeswitch.bin  logs        monitor      packages.tar.gz  www

adtec     hb_link         lost+found  monitor_log  recordings

[root@auc-linux home]# rm -rf /home/hb_link/

[root@auc-linux home]# ls

1234.cap  freeswitch.bin  logs        monitor      packages.tar.gz  www

adtec     hb_link         lost+found  monitor_log  recordings

[root@auc-linux home]# cd hb_link/

[root@auc-linux hb_link]# ls

[root@auc-linux hb_link]# cd /usr/hb/

[root@auc-linux hb]# ls

備註:想要刪除鏈結檔案要用以下命令 rm   /home/hb_link 只是少了乙個「 / 」 刪除的 就是鏈結檔案, 也就是在檔案的最後不要加上/

1.linux鏈結概念

linux鏈結分兩種,一種被稱為硬鏈結(hard link),另一種被稱為符號鏈結(symbolic link)。預設情況下,ln命令產生硬鏈結。

【硬連線】

硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號(inode index)。在linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。硬連線的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要檔案,以防止「誤刪」的功能。其原因如上所述,因為對應該目錄的索引節點有乙個以上的連線。只刪除乙個連線並不影響索引節點本身和其它的連線,只有當最後乙個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案真正刪除的條件是與之相關的所有硬連線檔案均被刪除。

【軟連線】

另外一種連線稱之為符號連線(symbolic link),也叫軟連線。軟鏈結檔案有類似於windows的快捷方式。它實際上是乙個特殊的檔案。在符號連線中,檔案實際上是乙個文字檔案,其中包含的有另一檔案的位置資訊。

2.通過實驗加深理解

[oracle@linux]$ touch f1          #建立乙個測試檔案f1

[oracle@linux]$ ln f1 f2          #建立f1的乙個硬連線檔案f2

[oracle@linux]$ ln -s f1 f3       #建立f1的乙個符號連線檔案f3

[oracle@linux]$ ls -li            # -i引數顯示檔案的inode節點資訊

total 0

9797648 -rw-r--r--  2 oracle oinstall 0 apr 21 08:11 f1

9797648 -rw-r--r--  2 oracle oinstall 0 apr 21 08:11 f2

9797649 lrwxrwxrwx  1 oracle oinstall 2 apr 21 08:11 f3 -> f1

從上面的結果中可以看出,硬連線檔案f2與原檔案f1的inode節點相同,均為9797648,然而符號連線檔案的inode節點不同。

[oracle@linux]$ echo "i am f1 file" >>f1

[oracle@linux]$ cat f1

i am f1 file

[oracle@linux]$ cat f2

i am f1 file

[oracle@linux]$ cat f3

i am f1 file

[oracle@linux]$ rm -f f1

[oracle@linux]$ cat f2

i am f1 file

[oracle@linux]$ cat f3

cat: f3: no such file or directory

通過上面的測試可以看出:當刪除原始檔案f1後,硬連線f2不受影響,但是符號連線f1檔案無效

3.總結

依此您可以做一些相關的測試,可以得到以下全部結論:

1).刪除符號連線f3,對f1,f2無影響;

2).刪除硬連線f2,對f1,f3也無影響;

3).刪除原檔案f1,對硬連線f2沒有影響,導致符號連線f3失效;

4).同時刪除原檔案f1,硬連線f2,整個檔案會真正的被刪除。

linux軟硬連線

ln s myfile soft ls li 25869085 rw r r 2 unixzii staff 36 7 8 17 45 hard 25869085 rw r r 2 unixzii staff 36 7 8 17 45 myfile 25869216 lrwxr xr x 1 uni...

linux 軟硬連線 建立 檢視 刪除

1 建立軟鏈結 具體用法是 ln s 原始檔 目標檔案。源 實際存放檔案的位置 當 我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的 目錄下用ln命令鏈結 link 它就可以,不必重複的占用磁碟空間。s ...

軟硬連線ln

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