1. 程式人生 > >Linux之硬連結與軟連結

Linux之硬連結與軟連結

      Linux系統中的檔案包括檔名和資料,其中資料分為使用者資料和元資料。使用者資料,即檔案資料塊存放著使用者的真實資料;元資料,存放著對檔案的一些描述資訊(檔案大小、建立時間、所有者、inode等等),是作業系統幫我們記錄的。其中inode是檔案索引號,是檔案的唯一標識。

硬連結

      相當於對檔案拷貝,但是又有區別,它與被連結檔案的inode是一樣的,建立硬連結的命令,如下

# 為file檔案建立一個硬連結,前提file必須存在
$ sudo ln file hard
# 執行下面指令會發現,file和hard的inode是一樣的
$ ls -i
# 如果是root使用者:echo "change to hard" >> hard即可;file檔案裡面的內容也會改變
$ sudo sh -c 'echo "change to hard" >> hard' # 可以執行下面命令 $ sudo rm file # 刪除的了file檔案對其沒有影響 $ vim hard

軟連結

      相當於被連結檔案或者目錄的一個索引,與被連結檔案inode不一樣,建立軟連結的命令如下:

$ sudo ln -s file softlink
# file/hard/softlink檔案中的內容都會變
$ sudo sh -c 'echo "change to softlink" >> softlink'
$ rm file
# 資料清空,還會生成一個被連結檔案file
$ vim softlink