硬式與軟式連結
檔案的連結主要的作用是讓檔案有其他的分身,而連結有分為 I. 硬式連結 Hard Link 以及 II. 符號連結 (Symbol link) 也就是所謂的Soft Link
硬式連結 Hard Link
指令: #ln source target
所有的 Hard Link 都不會佔用 inode (關於 inode 請自行參考 https://benjr.tw/93162 ) ,與原始檔共用 inode.而他的 permission 與 source 的設定共用.
硬式連結有以下兩個限制:
- 檔案與硬式連結無法跨分割磁區,因為共用inode.
- 硬式連結無法指向目錄.
Ex: 建立硬式連結 Hard Link
[root@benjr ~]# touch source [root@benjr ~]# ll -i 213043 -rw-rw-rw- 1 root root 10 jan 6 20:06 source [root@benjr ~]# ln source target [root@benjr ~]# ll -i 213043 -rw-rw-rw- 2 root root 10 jan 6 20:06 source 213043 -rw-rw-rw- 2 root root 6 jan 6 20:11 target
- source , target 的 inode 同為 213043 表示指向相同的 inode
- 其中的 2 表示為 HardLink 數,2 表示有 1 個 Link 以及 1 個 source , 3 表示有 2 個 Link 以及 1 個 source ,以此類推當原先檔案刪除,並不會引響到其他的 hardlink.
[root@benjr ~]# chmod 777 source(or target) [root@benjr ~]# ll -rwxrwxrwx 1 root root 10 jan 6 20:06 source -rwxrwxrwx 2 root root 6 jan 6 20:11 target
使用 chmod 後不管是 source 或 target 其權限都會同時更動.
符號連結 (Symbol link)也就是所謂的 Soft Link
指令:ln -s source target
所有的 Soft Link 都會佔用一個 inode ,而檔案標示會有一個l(小寫的L),而他的permission最終會指向原始的檔案設定,不管Link的設定為何,總之若要修改或執行檔案一定要有source的權限
Ex: 建立符號連結 Symbol link(Soft Link)
[root@benjr ~]# ll -i 213043 -rw-rw-r– 1 root root 10 jan 6 20:06 source [root@benjr ~]# ln -s source target [root@benjr ~]# ll -i 213043 -rw-rw-r– 1 root root 10 jan 6 20:06 source 213042 lrwxrwxrwx 1 root root 6 jan 6 20:11 target -> source
- l (小寫的L)表示為 softlink
- 檔案大小為原始檔的路徑+名稱個數;source六個字元
- target -> source指出檔案位址
- source , target 的 inode 不同
[root@benjr ~]# chmod 444 target [root@benjr ~]# ll -r–r–r– 1 root root 10 jan 6 20:06 source lrwxrwxrwx 2 root root 6 jan 6 20:11 target -> source
使用 chmod 後 source 其權限不會更動,只有 target 的權限會改變,雖然 target 的權限為全開,但是沒有 source 的權限還是無法執行或編譯,當原先檔案刪除,並會引響到其他的 softlink.因為他只儲存原始檔的名稱.
如果 softlink 為目錄時,需注意 rm (Remove 刪除 , 或是使用 unlink ) 時指定其 Soft Link名稱.
[root@benjr ~]# ln -s /etc/ ./ [root@benjr ~]# rm etc/ rm: cannot remove 'etc/': Is a directory [root@benjr ~]# rm etc rm: remove symbolic link 'etc'? y
沒有解決問題,試試搜尋本站其他內容
One thought on “Linux – 硬式 Hard & 軟式 Soft 連結”