1. 程式人生 > >Linux檔案系統簡介和軟連結和硬連結的區別

Linux檔案系統簡介和軟連結和硬連結的區別

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號。