首頁 > 軟體

Linux軟連線原理詳解

2020-06-16 17:08:54

軟連線又稱符號連結,最大用途為相對路徑共用檔案,優勢如軟體遷移到另外一塊磁碟、分割區或其他伺服器。
具體解析範例如下,在/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


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