Linux檔案系統簡介和軟連結和硬連結的區別
阿新 • • 發佈:2018-12-30
Linux有著極其豐富的檔案系統,大體可分為如下幾類:
網路檔案系統:如nfs、cifs等;
磁碟檔案系統:如ext3、ext4等;
特殊檔案系統:如prco、sysfs、ramfs、tmpfs等;
一、Linux系統中一切皆檔案(除程序以外)
Linux系統的頂層目錄結構如下
1 / 根目錄 2 3 ├── bin 存放使用者二進位制檔案 4 5 ├── boot 存放核心引導配置檔案 6 7 ├── dev 存放裝置檔案 8 9 ├── etc 存放系統配置檔案 10 11 ├── home 使用者主目錄12 13 ├── lib 動態共享庫 14 15 ├── lost+found 檔案系統恢復時的恢復檔案 16 17 ├── media 可解除安裝儲存介質掛載點 18 19 ├── mnt 檔案系統臨時掛載點 20 21 ├── opt 附加的應用程式包 22 23 ├── proc 系統記憶體的對映目錄,提供核心與程序資訊 24 25 ├── root root 使用者主目錄 26 27 ├── sbin 存放系統二進位制檔案 28 29 ├── srv 存放服務相關資料 30 31 ├── sys sys 虛擬檔案系統掛載點32 33 ├── tmp 存放臨時檔案 34 35 ├── usr 存放使用者應用程式 36 37 └── var 存放郵件、系統日誌等變化檔案
二、Linux的硬連結和軟連線
Linux檔案被分為兩部分:使用者資料(user data)和元資料(meta data)。使用者資料,即使用者資料塊(data block),記錄的是檔案真實內容存放的地方;元資料是檔案的附加屬性,如檔案大小、建立時間等等資訊。
在元資料中都存在一個inode號(可以理解為一個數據的索引號),而檔名只是為了讀者相對於好記憶的標識,真正尋找的還是元資料的inode號,即通過檔名開啟資料夾實質上是尋找inode的過程。
在Linux中為了解決檔案共享的問題,引入了兩種連結:硬連結(herd link)和軟連線(soft link)。硬連結可以理解為一個inode號對應多個檔名,可用link或ln建立。軟連線可以理解為Windows系統中檔案的快捷方式。利用stat可以檢視檔案的inode號。