linux是通過link
的數量來控制檔案刪除的,只有當乙個檔案不存在任何link
的時候,這個檔案才會被物理的刪除。那麼這個link
是什麼呢?就需要了解軟連線和硬鏈結。
linux具有為乙個檔案起多個名字的功能,稱為鏈結。被鏈結的檔案可以存放在相同的目錄下,但是必須有不同的檔名,而不用在硬碟上為同樣的資料重複備份。被鏈結的檔案如果擁有相同的檔名,那麼必須存放在不同的目錄下。
linux中每個檔案存在兩個計數器:通過下面的原理圖,我們先來大體了解下。i_count
和i_nlink
,即引用計數和硬鏈結計數。通過命令ls -l
可以看到檔案的硬鏈結數i_nlink
。
上圖中的inode
叫做索引節點號,這是linux檔案系統管理檔案的方式,相當於檔案的位址。每個檔案都與乙個inode
相關聯,該inode
由整數標識。inode
儲存有關檔案和目錄的資訊,例如:檔案所有權、訪問模式(讀取、寫入,執行)和檔案型別。在許多態別的檔案系統實現中,最大數量的inode
在建立檔案系統時是固定的,這限制了檔案系統可以容納的最大檔案數。你可以通過命令$ls -i
來檢視檔案的inode
編號。從圖中可以看出:不同的硬鏈結檔案,擁有相同的inode值。而不同軟鏈結檔案,擁有不同的inode
值。
block
叫做檔案資料塊,不同的鏈結檔案,裡面存放的內容不同。軟鏈結的block
中存放的內容是對原始檔的路徑名的指向,而硬鏈結中存放的是原始檔的內容。
建立方式
ln
命令,預設的連線型別是硬鏈結。$ ln 原始檔 硬鏈結檔案
。
作用如果刪除硬鏈結對應的原始檔,則硬鏈結檔案仍然存在,而且儲存了原有的內容,這樣可以起到防止因為誤操作而刪除檔案的作用。
劃重點建立方式
作用方便管理,可以把乙個複雜路徑下的檔案鏈結到乙個簡單路徑下方便使用者訪問;
解決檔案系統磁碟空間不足的情況。
劃重點
[benben@localhost test]$ ll
total 8
-rw-rw-r--. 2 benben benben 13 sep 22 18:02 b.txt
-rw-rw-r--. 2 benben benben 13 sep 22 18:02 c.txt
lrwxrwxrwx. 1 benben benben 5 sep 22 18:17 d.txt -> b.txt
lrwxrwxrwx. 1 benben benben 5 sep 22 18:18 e.txt -> b.txt
[benben@localhost test]$ ls -i
17510082 b.txt 17510082 c.txt 17510081 d.txt 17510083 e.txt
Linux檔案刪除原理
linux檔案刪除原理 linux是通過link的數量來控制檔案刪除的,只有當乙個檔案不存在任何link的時候,這個檔案才會被刪除。一般來說,每個檔案都有2個link計數器 i count 和 i nlink。i count的意義是當前檔案使用者 或被呼叫 的數量,i nlink 的意義是介質連線的...
刪除linux亂碼檔案
linux刪除亂碼檔案 當檔名為亂碼的時候,無法通過鍵盤輸入檔名,所以在終端下就不能直接利用rm,mv等命令管理檔案了。但是我們知道每個檔案都有乙個i節點號,我們可以考慮通過i節點號來管理檔案。首先,我們要取得檔案的i節點號。這個可以通過ls命令的 i選項獲得得,也可以通過ll i 來獲得。第二步,...
Linux刪除亂碼檔案
原理 刪除亂碼檔案 當檔名為亂碼的時候,無法通過鍵盤輸入檔名,所以在終端下就不能直接利用rm,mv等命令管理檔案了。但是我們知道每個檔案都有乙個 i 節點號,我們可以考慮通過 i 節點號來管理檔案。舉例 首先,我們要取得檔案的 i 節點號。這個可以通過ls命令的 i 選項獲得得,也可以通過ll i ...