2021-05-12 14:32:11
Linux軟連線原理詳解
軟連線又稱符號連結,最大用途為相對路徑共用檔案,優勢如軟體遷移到另外一塊磁碟、分割區或其他伺服器。
具體解析範例如下,在/app/hex/a6/b2/c3/下有檔案share.function,現需在b1目錄下建立軟連線檔案指向shre.function。
/app
└── hex
├── a1
│ ├── b1
│ ├── c1
│ └── c2
├── a2
├── a3
├── a4
├── a5
└── a6
├── b2
│ └── c3
│ └── share.function
└── b3
做法如下:
[root@CentOS7 ~]# cd /app/hex/a6/b2/c3 # 先進入c3目錄
[root@centos7 c3]# ln -s 原始檔 目標軟連線檔案:../../../a1/b1/ll.share.function
先進入c3目錄,然後在b1下建立的話,需先從c3進入b1並建立軟連線的方法為../../../a1/b1/ll.share.function。具體路徑為c3-b2-a6-hex-a1-b1-ll.share.function,說明目標軟連線建立完成。
軟連線檔案目前已經存在b1目錄中,軟連線如何回指相對路徑,b1-a1-hex-a6-b2-c3-share.function,用..路徑表示為../../a6/b2/c3/share.function。
整體方法為:
[root@centos7 c3]# ln -s ../../a6/b2/c3/share.function ../../../a1/b1/ll.share.function
底層原理解析:
不論在任何目錄下都可以進行軟連線的建立,只要當前路徑通過..或其他方法找到目標路徑,並在目標路徑下建立軟連線,然後軟連線的所在的目錄通過尋找路徑的方法找到原始檔,即實現軟連線的建立和聯通。
程式軟體共用時,必須用軟連線共用,原因如下:
1. 硬連結是後設資料的一個備份,只能在同一分割區中有效,因此如若部分軟體遷移硬連結則無法找到另外分割區中的block,導致無法實現資料共用;
2. 軟連結可以誇分割區,只要在同一檔案系統下則都可實軟連線建立
軟連線與硬連結的區別:
1. 軟連線的許可權是777,硬連結的許可權和原始檔許可權一致;
2. 硬連結不能跨分割區,軟連線可以跨分割區(只要通過路徑能相互找到即可);
3. 硬連結不支援目錄,而軟連結可以支援目錄;
4. 建立硬連結後,原始檔的連結數增加(指向塊的數增加),軟連線不會增加(軟連線是指向原始檔的後設資料,而不是指向塊)
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-08/146461.htm
相關文章