|
|
|
|
|
硬式與軟式連結
硬式與軟式連結
檔案的連結主要的作用是讓檔案有其他的分身,而連結有分為 I. 硬式連結 Hard Link 以及 II. 符號連結(Symbol link)也就是所謂的Soft Link
- 硬式連結Hard Link
- 檔案與硬式連結無法跨分割磁區,因為共用inode.
- 硬式連結無法指向目錄.
- source , target 的 inode 同為 213043 表示指向相同的 inode
- 其中的 2 表示為 HardLink 數,2 表示有 1 個 Link 以及 1 個 source , 3 表示有 2 個 Link 以及 1 個 source ,以此類推當原先檔案刪除,並不會引響到其他的 hardlink.
- 符號連結(Symbol link)也就是所謂的Soft Link
- l (小寫的L)表示為 softlink
- 檔案大小為原始檔的路徑+名稱個數;source六個字元
- target -> source指出檔案位址
- source , target 的 inode 不同
指令: #ln source target
所有的 Hard Link 都不會佔用 inode ,與原始檔共用 inode.而他的 permission 與 source 的設定共用
硬式連結有以下兩個限制:
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 |
| [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 其權限都會同時更動.
指令: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 |
| [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.因為他只儲存原始檔的名稱.
-
- 增加新的回應
- 瀏覽次數 1868