1. 程式人生 > >在Linux中建立檔案目錄軟連結、硬連結的方法

在Linux中建立檔案目錄軟連結、硬連結的方法

1. 使用方式:ln [option] source_file dist_file

             -f 建立時,將同檔案名刪除
             -i 刪除前進行詢問 
             -s 軟連結,否則預設為硬連結 
             n -s abc cde 建立abc 的軟連線
             ln abc cde 建立abc的硬連線

2. 軟連結與硬連結的區別(通俗):

硬連結(hard link)一個檔案擁有兩個檔名,硬聯接為檔案開設一個新的目錄項,硬連結與檔案原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,硬連結不能連線兩個不同檔案系統上的檔案。


軟連結(symbolic link):系統新建一個連結檔案,此檔案指向其所要指的檔案。軟連線又叫符號連線,符號連線相當於Windows下的快捷方式。軟連結實際上只是一段文字,裡面包含著它所指向的檔案的名字,系統看到軟連結後自動跳到對應的檔案位置處進行處理。

3. 軟連結與硬連結的區別:

對於一個檔案來說,都有唯一的索引接點,而對於一個索引接點號,卻可以有多個檔名與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。在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.檔案的時間截。