資料介紹
1.3 Linux文件及文件系統
在安裝完Linux之后,下面先對Linux中一些非常重要的概念做一些介紹,以便進一步學習使用Linux。
1.3.1 文件類型及文件屬性
1.文件類型
Linux中的文件類型與Windows有顯著的區別,其中最顯著的區別在于Linux對目錄和設備都當作文件來進行處理,這樣就簡化了對各種不同類型設備的處理,提高了效率。Linux中主要的文件類型分為4種:普通文件、目錄文件、鏈接文件和設備文件。
(1)普通文件。
普通文件同Windows中的文件一樣,是用戶日常使用最多的文件。它包括文本文件、shell腳本(shell的概念在第2章會進行講解)、二進制的可執行程序和各種類型的數據。
(2)目錄文件。
在Linux中,目錄也是文件,它們包含文件名和子目錄名以及指向那些文件和子目錄的指針。目錄文件是Linux中存儲文件名的惟一地方,當把文件和目錄相對應起來時,也就是用指針將其鏈接起來之后,就構成了目錄文件。因此,在對目錄文件進行操作時,一般不涉及對文件內容的操作,而只是對目錄名和文件名的對應關系進行操作。
另外,Linux系統中的每個文件都被賦予惟一的數值,而這個數值被稱作索引節點。索引節點存儲在一個稱作索引節點表(Inode Table)中,該表在磁盤格式化時被分配。每個實際的磁盤或分區都有自己的索引節點表。一個索引節點包含文件的所有信息,包括磁盤上數據的地址和文件類型。
Linux文件系統把索引節點號1賦予根目錄,這也就是Linux的根目錄文件在磁盤上的地址。根目錄文件包括文件名、目錄名及它們各自的索引節點號的列表,Linux可以通過查找從根目錄開始的一個目錄鏈來找到系統中的任何文件。
Linux通過目錄鏈接來實現對整個文件系統的操作。比如,把文件從一個磁盤目錄移到另一實際磁盤的目錄時(實際上是通過讀取索引節點表來檢測這種動作的),這時,原先文件的磁盤索引號被刪除,在新磁盤上建立相應的索引節點。它們之間的相應關系如圖1.5所示。

圖1.5 目錄文件與索引節點關系
(3)鏈接文件。
鏈接文件有些類似于Windows中的“快捷方式”,但是它的功能更為強大。它可以實現對不同的目錄、文件系統甚至是不同的機器上的文件直接訪問,并且不必重新占用磁盤空間。
(4)設備文件。
Linux把設備都當作文件一樣來進行操作,這樣就大大方便了用戶的使用(在后面的Linux編程中可以更為明顯地看出)。在Linux下與設備相關的文件一般都在/dev目錄下,它包括兩種,一種是塊設備文件,另一種是字符設備文件。
n 塊設備文件是指數據的讀寫,它們是以塊(如由柱面和扇區編址的塊)為單位的設備,最簡單的如硬盤(/dev/hda1)等。
n 字符設備主要是指串行端口的接口設備。
2.文件屬性
Linux中的文件屬性如圖1.6如示。

圖1.6 Linux文件屬性表示方法
首先,Linux中文件的擁有者可以把文件的訪問屬性設成3種不同的訪問權限:可讀(r)、可寫(w)和可執行(x)。文件又有3個不同的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統里的其他用戶(o)。
第一個字符顯示文件的類型。
n “-”表示普通文件。
n “d”表示目錄文件。
n “l”表示鏈接文件。
n “c”表示字符設備。
n “b”表示塊設備。
n “p”表示命名管道,比如FIFO文件(First In First Out,先進先出)。
n “f”表示堆棧文件,比如LIFO文件(Last In First Out,后進先出)。
n “s”表示套接字。
第一個字符之后有三個三位字符組:
n 第一個三位字符組表示文件擁有者(u)對該文件的權限。
n 第二個三位字符組表示文件用戶組(g)對該文件的權限。
n 第三個三位字符組表示系統其他用戶(o)對該文件的權限。
n 若該用戶組對此沒有權限,一般顯示“-”字符。
小知識目錄權限和文件權限有一定的區別。對于目錄而言,r代表允許列出該目錄下的文件和子目錄,w代表允許生成和刪除該目錄下的文件,x代表允許訪問該目錄。
1.3.2 文件系統類型介紹
1.ext2和ext3
ext3是現在Linux(包括Red Hat,Mandrake下)常見的默認的文件系統,它是ext2的升級版本。正如Red Hat公司的首席核心開發人員Michael K.Johnson所說,從ext2轉換到ext3主要有以下4個理由:可用性、數據完整性、速度以及易于轉化。ext3中采用了日志式的管理機制,它使文件系統具有很強的快速恢復能力,并且由于從ext2轉換到ext3無須進行格式化,因此,更加推進了ext3文件系統的推廣。
2.swap文件系統
該文件系統是Linux中作為交換分區使用的。在安裝Linux的時候,交換分區是必須建立的,并且它所采用的文件系統類型必須是swap而沒有其他選擇。
3.vfat文件系統
Linux中把DOS中采用的FAT文件系統(包括FAT12、FAT16和FAT32)都稱為vfat文件系統。
4.NFS文件系統
NFS文件系統是指網絡文件系統,這種文件系統也是Linux的獨到之處。它可以很方便地在局域網內實現文件共享,并且使多臺主機共享同一主機上的文件系統。而且NFS文件系統訪問速度快、穩定性高,已經得到了廣泛的應用,尤其在嵌入式領域,使用NFS文件系統可以很方便地實現文件本地修改,而免去了一次次讀寫Flash的憂慮。
5.ISO9660文件系統
這是光盤所使用的文件系統,在Linux中對光盤已有了很好的支持,它不僅可以提供對光盤的讀寫,還可以實現對光盤的刻錄。
1.3.3 Linux目錄結構
下面以Red Hat Enterprise 4 AS為例,詳細列出了Linux文件系統中各主要目錄的存放內容,如表1.1所示。
表1.1 Linux文件系統目錄結構
目 錄目 錄 內 容
/binbin就是二進制(binary)的英文縮寫。在這里存放Linux常用操作命令的執行文件,如mv、ls、mkdir等。有時,這個目錄的內容和/usr/bin里面的內容一樣,它們都是放置一般用戶使用的執行文件
/boot這個目錄下存放操作系統啟動時所要用到的程序。如啟動grub就會用到其下的/boot/grub子目錄
/dev該目錄中包含了所有Linux系統中使用的外部設備。要注意的是,這里并不是存放外部設備的驅動程序,它實際上是一個訪問這些外部設備的端口。由于在Linux中,所有的設備被當作文件進行操作,比如:/dev/cdrom代表光驅,用戶可以非常方便地像訪問文件、目錄一樣對其進行訪問
/etc該目錄下存放了系統管理時要用到的各種配置文件和子目錄。如網絡配置文件、文件系統、x系統配置文件、設備配置信息、設置用戶信息等都在這個目錄下。系統在啟動過程中需要讀取其參數并進行相應的配置
/etc/rc.d該目錄主要存放Linux啟動和關閉時要用到的腳本文件,在后面的啟動詳解中還會進一步地講解
/etc/rc.d/init該目錄存放所有Linux服務默認的啟動腳本(在新版本的Linux中還用到/etc/xinetd.d目錄下的內容)
/home該目錄是Linux系統中默認的用戶工作根目錄。如前面在1.3.1節中所述,執行adduser命令后系統會在/home目錄下為對應賬號建立一個同名的主目錄
/lib該目錄是用來存放系統動態鏈接共享庫的。幾乎所有的應用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進行操作
/lost+found該目錄在大多數情況下都是空的。只有當系統產生異常時,會將一些遺失的片段放在此目錄下
/media該目錄下是光驅和軟驅的掛載點,Fedora Core 4已經可以自動掛載光驅和軟驅
/misc該目錄下存放從DOS下進行安裝的實用工具,一般為空
/mnt該目錄是軟驅、光驅、硬盤的掛載點,也可以臨時將別的文件系統掛載到此目錄下
/proc該目錄是用于放置系統核心與執行程序所需的一些信息。而這些信息是在內存中由系統產生的,故不占用硬盤空間
/root該目錄是超級用戶登錄時的主目錄
/sbin該目錄用來存放系統管理員的常用的系統管理程序
/tmp該目錄用來存放不同程序執行時產生的臨時文件。一般Linux安裝軟件的默認安裝路徑就是這里
/usr這是一個非常重要的目錄,用戶的很多應用程序和文件都存放在這個目錄下,類似于Windows下的Program Files的目錄
/usr/bin系統用戶使用的應用程序
/usr/sbin超級用戶使用的比較高級的管理程序和系統守護程序
/usr/src內核源代碼默認的放置目錄
/srv該目錄存放一些服務啟動之后需要提取的數據
/sys這是Linux 2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統sysfs。sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對偽終端的devpts文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統中被創建
/var這也是一個非常重要的目錄,很多服務的日志信息都存放在這里
?
在安裝完Linux之后,下面先對Linux中一些非常重要的概念做一些介紹,以便進一步學習使用Linux。
1.3.1 文件類型及文件屬性
1.文件類型
Linux中的文件類型與Windows有顯著的區別,其中最顯著的區別在于Linux對目錄和設備都當作文件來進行處理,這樣就簡化了對各種不同類型設備的處理,提高了效率。Linux中主要的文件類型分為4種:普通文件、目錄文件、鏈接文件和設備文件。
(1)普通文件。
普通文件同Windows中的文件一樣,是用戶日常使用最多的文件。它包括文本文件、shell腳本(shell的概念在第2章會進行講解)、二進制的可執行程序和各種類型的數據。
(2)目錄文件。
在Linux中,目錄也是文件,它們包含文件名和子目錄名以及指向那些文件和子目錄的指針。目錄文件是Linux中存儲文件名的惟一地方,當把文件和目錄相對應起來時,也就是用指針將其鏈接起來之后,就構成了目錄文件。因此,在對目錄文件進行操作時,一般不涉及對文件內容的操作,而只是對目錄名和文件名的對應關系進行操作。
另外,Linux系統中的每個文件都被賦予惟一的數值,而這個數值被稱作索引節點。索引節點存儲在一個稱作索引節點表(Inode Table)中,該表在磁盤格式化時被分配。每個實際的磁盤或分區都有自己的索引節點表。一個索引節點包含文件的所有信息,包括磁盤上數據的地址和文件類型。
Linux文件系統把索引節點號1賦予根目錄,這也就是Linux的根目錄文件在磁盤上的地址。根目錄文件包括文件名、目錄名及它們各自的索引節點號的列表,Linux可以通過查找從根目錄開始的一個目錄鏈來找到系統中的任何文件。
Linux通過目錄鏈接來實現對整個文件系統的操作。比如,把文件從一個磁盤目錄移到另一實際磁盤的目錄時(實際上是通過讀取索引節點表來檢測這種動作的),這時,原先文件的磁盤索引號被刪除,在新磁盤上建立相應的索引節點。它們之間的相應關系如圖1.5所示。

圖1.5 目錄文件與索引節點關系
(3)鏈接文件。
鏈接文件有些類似于Windows中的“快捷方式”,但是它的功能更為強大。它可以實現對不同的目錄、文件系統甚至是不同的機器上的文件直接訪問,并且不必重新占用磁盤空間。
(4)設備文件。
Linux把設備都當作文件一樣來進行操作,這樣就大大方便了用戶的使用(在后面的Linux編程中可以更為明顯地看出)。在Linux下與設備相關的文件一般都在/dev目錄下,它包括兩種,一種是塊設備文件,另一種是字符設備文件。
n 塊設備文件是指數據的讀寫,它們是以塊(如由柱面和扇區編址的塊)為單位的設備,最簡單的如硬盤(/dev/hda1)等。
n 字符設備主要是指串行端口的接口設備。
2.文件屬性
Linux中的文件屬性如圖1.6如示。

圖1.6 Linux文件屬性表示方法
首先,Linux中文件的擁有者可以把文件的訪問屬性設成3種不同的訪問權限:可讀(r)、可寫(w)和可執行(x)。文件又有3個不同的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統里的其他用戶(o)。
第一個字符顯示文件的類型。
n “-”表示普通文件。
n “d”表示目錄文件。
n “l”表示鏈接文件。
n “c”表示字符設備。
n “b”表示塊設備。
n “p”表示命名管道,比如FIFO文件(First In First Out,先進先出)。
n “f”表示堆棧文件,比如LIFO文件(Last In First Out,后進先出)。
n “s”表示套接字。
第一個字符之后有三個三位字符組:
n 第一個三位字符組表示文件擁有者(u)對該文件的權限。
n 第二個三位字符組表示文件用戶組(g)對該文件的權限。
n 第三個三位字符組表示系統其他用戶(o)對該文件的權限。
n 若該用戶組對此沒有權限,一般顯示“-”字符。
小知識目錄權限和文件權限有一定的區別。對于目錄而言,r代表允許列出該目錄下的文件和子目錄,w代表允許生成和刪除該目錄下的文件,x代表允許訪問該目錄。
1.3.2 文件系統類型介紹
1.ext2和ext3
ext3是現在Linux(包括Red Hat,Mandrake下)常見的默認的文件系統,它是ext2的升級版本。正如Red Hat公司的首席核心開發人員Michael K.Johnson所說,從ext2轉換到ext3主要有以下4個理由:可用性、數據完整性、速度以及易于轉化。ext3中采用了日志式的管理機制,它使文件系統具有很強的快速恢復能力,并且由于從ext2轉換到ext3無須進行格式化,因此,更加推進了ext3文件系統的推廣。
2.swap文件系統
該文件系統是Linux中作為交換分區使用的。在安裝Linux的時候,交換分區是必須建立的,并且它所采用的文件系統類型必須是swap而沒有其他選擇。
3.vfat文件系統
Linux中把DOS中采用的FAT文件系統(包括FAT12、FAT16和FAT32)都稱為vfat文件系統。
4.NFS文件系統
NFS文件系統是指網絡文件系統,這種文件系統也是Linux的獨到之處。它可以很方便地在局域網內實現文件共享,并且使多臺主機共享同一主機上的文件系統。而且NFS文件系統訪問速度快、穩定性高,已經得到了廣泛的應用,尤其在嵌入式領域,使用NFS文件系統可以很方便地實現文件本地修改,而免去了一次次讀寫Flash的憂慮。
5.ISO9660文件系統
這是光盤所使用的文件系統,在Linux中對光盤已有了很好的支持,它不僅可以提供對光盤的讀寫,還可以實現對光盤的刻錄。
1.3.3 Linux目錄結構
下面以Red Hat Enterprise 4 AS為例,詳細列出了Linux文件系統中各主要目錄的存放內容,如表1.1所示。
表1.1 Linux文件系統目錄結構
目 錄目 錄 內 容
/binbin就是二進制(binary)的英文縮寫。在這里存放Linux常用操作命令的執行文件,如mv、ls、mkdir等。有時,這個目錄的內容和/usr/bin里面的內容一樣,它們都是放置一般用戶使用的執行文件
/boot這個目錄下存放操作系統啟動時所要用到的程序。如啟動grub就會用到其下的/boot/grub子目錄
/dev該目錄中包含了所有Linux系統中使用的外部設備。要注意的是,這里并不是存放外部設備的驅動程序,它實際上是一個訪問這些外部設備的端口。由于在Linux中,所有的設備被當作文件進行操作,比如:/dev/cdrom代表光驅,用戶可以非常方便地像訪問文件、目錄一樣對其進行訪問
/etc該目錄下存放了系統管理時要用到的各種配置文件和子目錄。如網絡配置文件、文件系統、x系統配置文件、設備配置信息、設置用戶信息等都在這個目錄下。系統在啟動過程中需要讀取其參數并進行相應的配置
/etc/rc.d該目錄主要存放Linux啟動和關閉時要用到的腳本文件,在后面的啟動詳解中還會進一步地講解
/etc/rc.d/init該目錄存放所有Linux服務默認的啟動腳本(在新版本的Linux中還用到/etc/xinetd.d目錄下的內容)
/home該目錄是Linux系統中默認的用戶工作根目錄。如前面在1.3.1節中所述,執行adduser命令后系統會在/home目錄下為對應賬號建立一個同名的主目錄
/lib該目錄是用來存放系統動態鏈接共享庫的。幾乎所有的應用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進行操作
/lost+found該目錄在大多數情況下都是空的。只有當系統產生異常時,會將一些遺失的片段放在此目錄下
/media該目錄下是光驅和軟驅的掛載點,Fedora Core 4已經可以自動掛載光驅和軟驅
/misc該目錄下存放從DOS下進行安裝的實用工具,一般為空
/mnt該目錄是軟驅、光驅、硬盤的掛載點,也可以臨時將別的文件系統掛載到此目錄下
/proc該目錄是用于放置系統核心與執行程序所需的一些信息。而這些信息是在內存中由系統產生的,故不占用硬盤空間
/root該目錄是超級用戶登錄時的主目錄
/sbin該目錄用來存放系統管理員的常用的系統管理程序
/tmp該目錄用來存放不同程序執行時產生的臨時文件。一般Linux安裝軟件的默認安裝路徑就是這里
/usr這是一個非常重要的目錄,用戶的很多應用程序和文件都存放在這個目錄下,類似于Windows下的Program Files的目錄
/usr/bin系統用戶使用的應用程序
/usr/sbin超級用戶使用的比較高級的管理程序和系統守護程序
/usr/src內核源代碼默認的放置目錄
/srv該目錄存放一些服務啟動之后需要提取的數據
/sys這是Linux 2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統sysfs。sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對偽終端的devpts文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統中被創建
/var這也是一個非常重要的目錄,很多服務的日志信息都存放在這里
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 測量系統分析 0次下載
- 嵌入式Linux系統移植-(Linux文件系統)
- Linux操作系統分析與實踐PDF電子書免費下載 15次下載
- 系統分析用戶指南(英文版) 0次下載
- 系統分析方法 0次下載
- linux文件系統基礎 0次下載
- Linux日志文件系統解析 0次下載
- 《Linux設備驅動開發詳解》第5章、Linux文件系統與設備文件系統 0次下載
- 細數那些流行的 Linux 文件系統 0次下載
- 基于MATLAB的系統分析與設計信號處理 31次下載
- Linux源碼分析系列之文件系統 51次下載
- Linux虛擬文件系統實現技術探討 32次下載
- 構造嵌入式Linux的文件系統
- Linux文件系統課程 0次下載
- 系統分析ppt 0次下載
- 如何更改Linux文件系統終端顯示顏色 642次閱讀
- 單端口網絡S參數測量系統分析 708次閱讀
- Linux 文件系統層的主要結構 1034次閱讀
- C程序設計基礎-文件系統 839次閱讀
- 深入剖析Linux文件系統的架構 1068次閱讀
- Linux文件系統的類型及工作原理 650次閱讀
- 深入剖析Linux內核虛擬文件系統 3108次閱讀
- 基于Buildroot的Linux系統構建之根文件系統 2620次閱讀
- 如何區別Linux文件系統呢? 3720次閱讀
- 了解Linux默認文件系統的發展歷史 6507次閱讀
- 快速了解Linux文件系統 3702次閱讀
- 文件系統是什么?淺談EXT文件系統歷史 5723次閱讀
- 玩轉Linux,先把文件系統搞懂 2083次閱讀
- 制作ZedBoard上linux根文件系統(ramdisk) 1603次閱讀
- 基于zynq的Linux根文件系統生成 5841次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論