Linux文件系統概要

Linux文件系統簡介

在Linux操作系統中,所有被操作系統管理的資源,例如網絡接口卡、磁盤驅動器、打印機、輸入輸出設備、普通文件或是目錄都被看作是一個文件。也就是說在LINUX系統中有一個重要的概念:一切都是文件(其實這是UNIX哲學的一個體現,而Linux是重寫UNIX而來)。

文件存儲方式:

要弄清楚文件系統,首先必須得掌握inode是什麼?

文件存儲在硬盤上,硬盤的最小存儲單位是扇區(Sector),每個扇區存儲512字節(0.5kb)。

操作系統讀取硬盤的數據時,不會一個扇區一個扇區的讀取,這樣做效率較低,而是一次讀取多個扇區, 即一次讀取一個塊(block)。塊由多個扇區組成,是文件讀取的最小單位,塊的最常見的大小是4kb, 約爲8個連續的扇區組成。

文件數據存儲在塊中, 但還需要一個空間來存儲文件的元信息metadata,如文件擁有者,創建時間,權限,大小等。 這種存儲文件元信息的區域就叫inode,譯爲索引節點。 每個文件都有一個inode,存儲文件的元信息。
inode也需要消耗硬盤空間,所以在格式化硬盤的時候,操作系統會將硬盤分爲2個區域, 一個區域存放文件數據,另一個區域存放inode所包含的信息, 存放inode的區域被稱爲inode table。

文件分類

Linux中非常重要的文件類型有: 普通文件,目錄文件,鏈接文件,設備文件,管道文件,Socket套接字文件等。

  1. 普通文件: 普通文件是指txt,html,pdf等等的這樣應用層面的文件類型, 用戶可以根據訪問權限對普通文件進行訪問,修改和刪除。

  2. 目錄文件: 目錄也是一種文件,打開目錄實際上是打開目錄文件。 目錄文件包含了它目錄下的所有文件名以及指向這些文件的指針。

  3. 鏈接文件:

    • 硬鏈接(Hard Link):
      硬鏈接的文件擁有相同的inode,因爲操作系統是靠inode來區分文件的, 2個inode相同的文件,就代表它們是一個文件。 刪除一個文件並不會對其他擁有相同inode的文件產生影響,只有當inode相同的所有文件被刪除了, 這個文件纔會被刪除。換言之,你建立一個文件的硬鏈接,這個文件和硬鏈接它們的inode是相同的, 無論你刪除的是硬鏈接還是源文件,都不會對彼此造成影響,除非你把硬鏈接和源文件都刪除, 這個文件才被刪除。
    • 符號鏈接(軟鏈接)(Symbolic Link):
      符號鏈接類似於Windows上的快捷方式,它保存了源文件的路徑。 當符號鏈接被刪除時,並不會影響源文件。但是當源文件被刪除時,符號鏈接就找不到源文件了。
  4. 設備文件

    • 字符設備文件: 字符設備是依照先後順序存取數據的設備,通常不支持隨機存取, 此類設備可以按字節/字符來讀取數據, 如鍵盤,串口等等。

    • 塊設備文件: 塊設備是可以被隨機存取數據的設備,應用程序可以訪問塊設備上任何一塊位置。 塊設備以塊的方式讀取數據,在windows下也稱爲簇,塊設備不支持字符的方式尋址。 如硬盤,軟盤,光碟等等。

  5. 管道文件: 管道文件一般用於進程間通信,使用mkfifo命令可以創建一個管道文件。

  6. Socket套接字文件: 套接字文件被用於網絡進程之間的通信,既可以使2臺不同的機器進行通信,也可以用於本機的Socket網絡程序。

Linux目錄樹

Linux文件系統的結構層次鮮明,就像一棵倒立的樹,最頂層是其根目錄。
在這裏插入圖片描述
常見目錄說明:

/bin: 存放二進制可執行文件(ls、cat、mkdir等),常用命令一般都在這裏;
/etc: 存放系統管理和配置文件;
/home: 存放所有用戶文件的根目錄,是用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示;
/usr : 用於存放系統應用程序;
/opt: 額外安裝的可選應用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這裏;
/proc: 虛擬文件系統目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息;
/root: 超級用戶(系統管理員)的主目錄(特權階級o);
/sbin: 存放二進制可執行文件,只有root才能訪問。這裏存放的是系統管理員使用的系統級別的管理命令和程序。如ifconfig等;
/dev: 用於存放設備文件;
/mnt: 系統管理員安裝臨時文件系統的安裝點,系統提供這個目錄是讓用戶臨時掛載其他的文件系統;
/boot: 存放用於系統引導時使用的各種文件;
/lib : 存放着和系統運行相關的庫文件 ;
/tmp: 用於存放各種臨時文件,是公用的臨時文件存儲點;
/var: 用於存放運行時需要改變數據的文件,也是某些大文件的溢出區,比方說各種服務的日誌文件(系統啓動日誌等。)等;
/lost+found: 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什麼.chk)就在這裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章