文件系統概念
一. 文件與目錄的定義
1. 文件系統:它是磁盤上有特定格式的一片區域,操作系統通過文件系統可以方便地查尋和訪問其中所包含的磁盤塊;
2. 文件:文件系統中存儲數據的一個命名的對象。
3. 目錄:其中包含許多文件項目的一類特殊文件。
4. 子目錄:被包含在另一個目錄中的目錄。
5. 文件名:用來標識文件的字符串,它保存在一個目錄文件項中。
6. 路徑名:由斜線字符(/)結合在一起的一個或多個文件名的集合。
二. 文件結構
1. 文件的成份:無論文件是一個程序、一個文檔、一個數據庫,或者是一個目錄,操作系統都會賦予文件相同的結構,具體信息如下:
① 索引節點:又稱 i 節點。
② 數據:文件的實際內容。
2. 命名文件:文件名保存在目錄文件中。
為方便管理文件,應遵循以下規則:
① 文件名應量簡單,并且應反映出文件內容。
② 除斜線(/)和空字符以外,文件名可以包含任意的 ASCII 字符;
③ 習慣上允許使用下線符(_)和句點(.)來區別文件的類型,使文件名更易讀;但是應避免使用以下字符,因為對系統的 shell 來說,它們有特殊的含義。這些字符是:
?????????? ; | <?? >?? `?? “?? ‘?? $?? !?? %?? &?? *?? ??? /?? (?? )?? [?? ]
④ 同類文件應使用同樣的后綴或擴展名。
⑤ Linux 系統區分文件名的大小寫.
⑥ 以圓點(.)開頭的文件名是隱含文件,默認方式下使用 ls 命令并不能把它們在屏幕上顯示出來。
3. 文件名擴展字符:為了能一次處理多個文件,shell 提供了幾個特別字符,稱為文件名擴展字符(也稱通配符)。文件名擴展字符主要有:
① 星號(*):與 0 個或多個任意的字符相匹配。
② 問號(?):只與一個任意的字符匹配。
③ 方括號([ ]):只與方括號中字符之一匹配,可用短橫代表一個范圍內的字符。
三. 文件類型
Linux 操作系統支持以下文件類型:普通文件、目錄文件、設備文件和符號鏈接文件。
1. 普通文件:又稱常規文件,包含各種長度的字符串。
2. 目錄文件:是一種特殊文件,利用它可以構成文件系統的分層樹形結構。
3. 設備文件:是一種特別文件,除了存放在文件 i 節點中的信息外,它們不包含食任何數據。
4. 符號鏈接文件:是一種特殊文件,它們提供對其他文件的參照。
目錄結構
一. 樹型目錄結構
1. Linux系統以文件目錄的方式來組織和管理系統中的所有文件。所謂文件目錄就是將所有文件的說明信息采用樹型結構組織起來,即常說的目錄。
二. 工作目錄、用戶主目錄與路徑
1. 工作目錄與用戶主目錄
用戶在登錄到 Linux 系統之后,所在的目錄稱為工作目錄。
2. 路徑
顧名思義,路徑是指從樹型目錄的某個目錄層次到某個文件的一條道路。路徑主要是由目錄名稱構成,中間用“/”分隔。
三. Linux 系統主要目錄說明
1. /: 根目錄,系統所有目錄均從根目錄開始;
2. /bin: bin是二進制(binary)的英文縮寫。在一般的系統中,用于存放 Linux 最常用的命令;
3. /boot: 引導核必的程序目錄。在使用 LILO 或 GRUB 引導 Linux 時,會用到這個目錄中的文件;
4. /dev: dev 是設備(device)的英文縮寫。這個目錄中包含了所有在 Linux 系統中使用的外部設備。但是這里并不是放的外部設備的驅動程序;
5. /etc: etc 是 etcetera 的縮寫。這個目錄包含了系統管理所需要的配置文件和子目錄,它是系統中最重要的目錄之一,用戶要用到的網絡配置文件、文件系統、X-Windows 系統配置文件、設備配置信息、設置用戶信息等都在這個目錄下;
6. /sbin: 這個目錄是用來存放系統管理員使用的系統管理程序,一般用戶沒有權限訪問;
7. /home: 用來存放用戶主目錄的地方。一般來說,“/home/用戶名” 就是該用戶的主目錄;
8. /lib: lib是庫(library)的英文縮寫。這個目錄是用來存放系統動態連接共享庫的。
9. /mnt: 這個目錄在一般情況下是空的。可以臨時將別的文件系統掛在這個目錄下;
10. /proc: 這個目錄是 Linux 提供的一個虛擬系統,該目錄下的文件并不存于硬盤中,而是由系統初啟的時候在內存中產生的。
11. /root: 這個目錄是超級用戶 root 默認的主目錄,一般用戶沒有訪問權限;
12. /tmp: 用來存放不同程序執行時產生的臨時文件;
13. /usr: 是 user 的縮寫,Linux 系統中占用空間最大的目錄,用戶的很多應用程序和文件幾乎都存放在這個目錄中.
14. /var: 主要存放一些系統記錄文件和配置文件,通常/var下面的文件是提供給系統管理員對系統的用戶注冊、系統負載、安全性方面的查詢。