Linux 文件系統基礎

文件系統概述

操做系統中與管理文件有關的軟件和數據
Linux文件系統採用的是樹形結構
Linux支持多種文件系統
Linux文件系統提供豐富的文件和目錄操做命令windows

Linux文件系統的特色

1.Linux文件系統採用樹形結構,從根目錄root(/)開始。
2.Linux的虛擬文件系統容許衆多不一樣類型的文件系統共存,並支持跨文件系統的操做。
3.Linux的文件是無結構字符流式文件,不考慮文件內部的邏輯結構,只把文件簡單地看做是一系列字符的序列。
4.Linux的文件可由文件擁有者或超級用戶設置相應的訪問權限而受到保護。
5.Linux把全部的外部設備都看做文件,可使用與文件系統相同的系統調用和函數來讀寫外部設備。安全

Linux文件系統的組成

a.png

  • /home:用戶主目錄的基點目錄,默認狀況每一個用戶主目錄都設在該目錄下,如默認狀況下用戶 user01 的主目錄是 /home/user01 ;
  • /lib:存放標準程序設計庫目錄,又叫動態連接共享庫目錄,目錄中文件相似windows裏的.dll文件;
  • /etc:存放系統管理和配置文件目錄;
  • /dev:存放設備特殊文件目錄,如聲卡文件、磁盤文件等;
  • /usr:最龐大的目錄,存放應用程序和文件目錄;
  • /proc:虛擬目錄,是系統內存的映射,可直接訪問這個目錄來獲取系統信息;
  • /root:系統管理員的主目錄;
  • /tmp:存放公用臨時文件目錄。
  • /sbin/usr/sbin:系統級的命令與工具目錄;
  • /bin/usr/bin:用戶級的命令與工具目錄;
  • /usr/include:C語言,內核編譯所須要的頭文件存放目錄;
  • /lib/usr/lib:庫文件存放目錄,其中有表態庫和動態庫;
  • /usr/src:Linux源代碼目錄,編譯內核時使用;
  • /var:一般用來存放一些常常變化的內容,好比各類網絡服務的工做目錄都在這裏;

Linux文件系統類型

EXT文件系統

  • Linux的第一個版本是基於Minix文件系統的。當Linux成熟時,引入了擴展文件系統(ext文件系統),ext是第一個專門爲Linux設計的文件系統。但因爲ext文件系統在穩定性,速度和兼容性方面存在很多缺陷,已經不多使用。
  • Linux在1994年引入了二級擴展文件系統(second extended file system,ext2),至關高效和穩定,是Linux系統默認使用的文件系統。ext2文件系統是非日誌文件系統,這在關鍵行業的應用是一個致命的弱點。
  • ext2文件系統通過逐步改進造成了ext3文件系統,這個新的文件系統在設計時牢記了兩點,一是成爲一個日誌文件系統,二是儘量與原來的ext2文件系統兼容。

目前ext3文件系統很是穩定可靠,該文件系統具備以下特色:網絡

  1. 高可用性
    Linux系統使用ext3文件系統後,即便非正常關機,系統也不須要檢查文件系統。
  2. 數據的完整性
    ext3文件系統可以極大地提升文件系統的完整性,避免了意外關機對文件系統的破壞。
  3. 文件系統的速度
    ext3文件系統的日誌功能對磁盤的驅動器讀寫頭進行了優化。
  4. 數據轉換
    由ext2文件系統轉換成ext3文件系統很是容易。另外,ext3文件系統能夠不經任何更改,直接加載成爲ext2文件系統。
  5. 多種日誌模式

ext3文件系統有三種日誌模式EXT3三種日誌模式:函數

  1. Journal模式:將全部數據和元數據的改變都記入日誌,這種模式減小丟失每一個文件所做修改的機會,但須要不少額外磁盤訪問,是最安全和最慢的ext3日誌模式;
  2. Ordered模式:只有對文件系統元數據的改變才記入日誌,但保證數據在元數據以前被寫入磁盤,是缺省的ext3日誌模式;
  3. 寫回(Writeback)模式:只有對文件系統元數據的改變才記入日誌,數據和元數據被寫入磁盤的順序不保證,是在這三種日誌模式中最快的模式。

其餘文件系統

  • MS-DOS
    MS-DOS文件系統,DOS、Windows和OS/2操做系統上使用的文件系統。
  • UMSDOS
    擴展的MS-DOS文件系統。
  • VFAT
    Microsoft擴展的FAT文件系統,被Windows9x /2000 /XP使用。
  • Proc
    一種基於內存的僞文件系統,不佔用磁盤空間,只是以文件的方式爲訪問Linux內核數據提供接口。
  • ISO9660
    一種針對ISO9660標準的CD-ROM文件系統。
  • SYSV
    System V/Coherent在 Linux 平臺上的文件系統。
  • NFS
    Sun公司推出的網絡文件系統。
  • SMB
    支持SMB協議的網絡文件系統,可用於實現Linux與Windows的文件共享。
  • FAT
    它不是一個單獨的文件系統,而是MS-DOS, umsdos 和vfat 文件系統的經常使用部分。
  • swap
    swap文件系統用於Linux的交換分區。
  • Reiserfs
    是Linux內核2.4.1之後支持的一種全新的日誌文件系統。
  • NTFS
    Windows NT文件系統。
  • HPFS
    是Microsoft的LAN Manager中的文件系統,同時也是IBM的LAN Server和OS/2的文件系統,稱爲高性能文件系統。

 不一樣版本的Linux系統所支持的文件系統類型和種類都會有所不一樣。Linux 容許衆多不一樣類型的文件系統共存,並支持跨文件系統的操做,這是因爲虛擬文件系統(Virtual File System,簡稱VFS)的存在。
 虛擬文件系統是Linux內核中的一個軟件層,用於給用戶空間的程序提供文件系統接口;它也提供了內核中的一個抽象功能,容許不一樣的文件系統共存。系統中全部的文件系統不但依賴VFS共存,並且也依靠VFS協同工做。
圖片1.png工具

文件和目錄的基本概念

文件

文件是指由建立者定義的,具備文件名的一組相關元素的集合,文件能夠是文本文檔、圖片、程序等。
Linux系統下的文件名長度根據不一樣類型的文件系統有所不一樣,最多可到255個字符。Linux下爲文件取名必須遵照如下規則:性能

  1. 除了「/」外,全部的字符均可以使用;
  2. 轉義字符最好不用,這些字符在Linux系統下有特定的含義,如「?」(問號),「*」(星號),「 」(空格),「$」(貨幣符),「&」等;
  3. 避免使用「+」、「-」或「.」做爲普通文件名的第一個字符(在Linux下以「.」開頭的文件是隱藏文件);
  4. Linux系統的文件名大小寫敏感,文件Memo和文件memo是兩個不一樣的文件。

Linux操做系統支持多種文件類型,下面介紹常見的幾種。優化

  1. 普通文件
    普通文件也稱爲常規文件,是 Linux 中最通常格式的文件,包括系統文件、用戶文件和庫函數。
  2. 目錄文件
    目錄文件是由文件目錄信息構成的特殊文件,目錄文件的內容不是應用程序和數據,而是用來檢索普通文件的目錄信息。
  3. 設備文件

在Linux中輸入輸出設備被看作特殊文件,稱爲設備文件。設備文件分兩類,字符設備文件和塊設備文件。設備文件存放在Linux的 /dev 目錄
b.png
• 其中/dev/tty是表示終端設備的文件
• 字符串「crw-rw-rw-」的第一個字符「c」表示是字符設備文件
/dev/sda1表示USB移動存儲設備的文件
• 字符串「brw-rw----」的第一個字符是「b」,表示是塊設備文件,spa

  1. 符號連接文件
    符號連接文件是一種特殊類型的文件,它的內容只是一個字符串,該字符串可能指向一個存在的文件也可能什麼都不指向。

目錄

目錄是Linux文件系統中的一種特殊文件,文件系統利用目錄完成按名存取及對文件信息的共享和保護。
工做目錄與用戶主目錄操作系統

  • 工做目錄
    工做目錄是用戶在登陸到Linux系統後所處於的目錄,也稱爲當前目錄。
  • 用戶主目錄
    是系統管理員增長用戶時建立的(之後也能夠改變),每一個用戶都有本身的主目錄。普通用戶的主目錄在/home下,root用戶做爲系統管理員,由於身份特殊因此有本身的主目錄,在/root下。

用戶剛登陸到系統中時,其工做目錄即是該用戶主目錄,一般與用戶的登陸名相同。如用戶的登陸名爲user,其主目錄一般爲/home/user設計

路徑

路徑定義
路徑是指從樹型目錄中的某個目錄層次到某個文件的一條道路。
路徑的構成要素
路徑是由目錄或目錄和文件名構成的,中間用「/」分開。

路徑分爲絕對路徑和相對路徑兩類:

  1. 絕對路徑
    Linux系統中,絕對路徑是從「/」(根目錄)開始的,也稱爲徹底路徑,如/home/user01/usr/bin
  2. 相對路徑
    Linux系統中,相對路徑是從用戶工做目錄或用戶主目錄開始的路徑,如 ./test../user1~/test。 其中 . 表示用戶工做目錄, .. 表示工做目錄的上級目錄, ~ 表示用戶主目錄。
相關文章
相關標籤/搜索