Linux軟串連和永久連結
轉自 http://blog.sina.com.cn/s/blog_520fb00d0100hqng.html
1. 使用方式:ln [option] source_file dist_file
-f 建立時,將同檔案名刪除.
-i 刪除前進行詢問.
ln -s abc cde 建立abc 的軟串連
ln abc cde 建立abc的硬串連,
2. 軟連結與永久連結的區別(通俗):
永久連結可認為是一個檔案擁有兩個檔案名稱;而軟連結則是
系統建立一個連結檔案,此檔案指向其所要指的檔案
3. 軟連結與永久連結的區別(講解):
Linux 軟串連與硬串連對於一個檔案來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個檔案名稱與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。注意在Linux下是一切皆檔案的啊,檔案夾、新加的硬碟 ...都可以看著檔案來處理的啊。
串連有軟串連和硬串連(hard link)之分的,軟串連(symbolic link)又叫符號串連。符號串連相當於Windows下的捷徑。
不可以對檔案夾建立硬串連的,我們通常用的還是軟串連比較多。
eg:
ln -s source dist # 建立軟串連
ln source dist # 建立硬串連
軟連結實際上只是一段文字,裡麵包含著它所指向的檔案的名字,系統看到軟連結後自動跳到對應的檔案位置處進行處理;相反,硬聯結為檔案開設一個新的目錄項,永久連結與檔案原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,永久連結不能串連兩個不同檔案系統上的檔案。
(1)軟串連可以 跨檔案系統 ,硬串連不可以 。實踐的方法就是用共用檔案把windows下的 aa.txt文字文件串連到linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 串連成功 。ln aa.txt /root/bb 失敗 。
(2)關於 I節點的問題 。硬串連不管有多少個,都指向的是同一個I節點,會把 結點串連數增加,只要結點的串連數不是 0,檔案就一直存在,不管你刪除的是源檔案還是 串連的檔案 。只要有一個存在 ,檔案就 存在 (其實也不分什麼源檔案串連檔案的,因為他們指向都是同一個 I節點)。 當你修改源檔案或者串連檔案任何一個的時候,其他的檔案都會做同步的修改。軟連結不直接使用i節點號作為檔案指標,而是使用檔案路徑名作為指標。所以 刪除串連檔案對源檔案無影響,但是刪除源檔案,串連檔案就會找不到要指向的檔案。軟連結有自己的inode,並在磁碟上有一小片空間存放路徑名.
(3)軟串連可以對一個不存在的檔案名稱進行串連 。
(4)軟串連可以對目錄進行串連。
備忘:I節點 :它是UNIX內部用於描述檔案特性的資料結構.我們通常稱I節點為檔案索引結點(資訊結點).i節點含有關於檔案的大部分的重要訊息,包括檔案資料區塊在磁碟上的地址.每一個I節點有它自己的標誌號,我們稱為檔案順序號.I節點包含的資訊 1.檔案類型 2.檔案屬主關係 3.檔案的存取權限 4.檔案的時間截.