新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)詳解

Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)詳解

作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

一 、Linux文件結(jié)構(gòu)

本文引用地址:http://butianyuan.cn/article/201610/305601.htm

文件結(jié)構(gòu)是文件存放在磁盤等存貯設(shè)備上的組織方法。主要體現(xiàn)在對(duì)文件和目錄的組織上。

目錄提供了管理文件的一個(gè)方便而有效的途徑。

Linux使用標(biāo)準(zhǔn)的目錄結(jié)構(gòu),在安裝的時(shí)候,安裝程序就已經(jīng)為用戶創(chuàng)建了文件系統(tǒng)和完整而固定的目錄組成形式,并指定了每個(gè)目錄的作用和其中的文件類型。

/根目錄

┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓

┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

bin home dev etc lib sbin tmp usr var

┃ ┃

┏━┻━┓ ┏━━┳━━┳━━┳━┻━┳━━┓

┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

rc.d cron.d X11R6 src lib local man bin

┏━━━┳━━┳━┻━┳━━━┓

┃ ┃ ┃ ┃ ┃

init.d rc0.d rc1.d rc2.d …… linux bin lib src

Linux采用的是樹型結(jié)構(gòu)。最上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。微軟的DOS和windows也是采用樹型結(jié)構(gòu),但是在DOS和 windows中這樣的樹型結(jié)構(gòu)的根是磁盤分區(qū)的盤符,有幾個(gè)分區(qū)就有幾個(gè)樹型結(jié)構(gòu),他們之間的關(guān)系是并列的。但是在linux中,無論操作系統(tǒng)管理幾個(gè)磁盤分區(qū),這樣的目錄樹只有一個(gè)。從結(jié)構(gòu)上講,各個(gè)磁盤分區(qū)上的樹型目錄不一定是并列的。

如果這樣講不好理解的話,我來舉個(gè)例子:

有一塊硬盤,分成了4個(gè)分區(qū),分別是/;/boot;/usr和windows下的fat

對(duì)于/和/boot或者/和/usr,它們是從屬關(guān)系;對(duì)于/boot和/usr,它們是并列關(guān)系。

如果我把windows下的fat分區(qū)掛載到/mnt/winc下,(掛載??哦,別急,呵呵,一會(huì)就講,一會(huì)就講。)那么對(duì)于/mnt/winc和/usr或/mnt/winc和/boot來說,它們是從屬于目錄樹上沒有任何關(guān)系的兩個(gè)分支。

因?yàn)閘inux是一個(gè)多用戶系統(tǒng),制定一個(gè)固定的目錄規(guī)劃有助于對(duì)系統(tǒng)文件和不同的用戶文件進(jìn)行統(tǒng)一管理。但就是這一點(diǎn)讓很多從windows轉(zhuǎn)到linux的初學(xué)者感到頭疼。下面列出了linux下一些主要目錄的功用。

/bin 二進(jìn)制可執(zhí)行命令

/dev 設(shè)備特殊文件

/etc 系統(tǒng)管理和配置文件

/etc/rc.d 啟動(dòng)的配置文件和腳本

/home 用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示

/lib 標(biāo)準(zhǔn)程序設(shè)計(jì)庫,又叫動(dòng)態(tài)鏈接共享庫,作用類似windows里的.dll文件

/sbin 系統(tǒng)管理命令,這里存放的是系統(tǒng)管理員使用的管理程序

/tmp 公用的臨時(shí)文件存儲(chǔ)點(diǎn)

/root 系統(tǒng)管理員的主目錄(呵呵,特權(quán)階級(jí))

/mnt 系統(tǒng)提供這個(gè)目錄是讓用戶臨時(shí)掛載其他的文件系統(tǒng)。

/lost+found 這個(gè)目錄平時(shí)是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無家可歸”的文件(windows下叫什么.chk)就在這里

/proc 虛擬的目錄,是系統(tǒng)內(nèi)存的映射。可直接訪問這個(gè)目錄來獲取系統(tǒng)信  息。

/var 某些大文件的溢出區(qū),比方說各種服務(wù)的日志文件

/usr 最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個(gè)目錄。其中包  含:

/usr/X11R6 存放X window的目錄

/usr/bin 眾多的應(yīng)用程序

/usr/sbin 超級(jí)用戶的一些管理程序

/usr/doc linux文檔

/usr/include linux下開發(fā)和編譯應(yīng)用程序所需要的頭文件

/usr/lib 常用的動(dòng)態(tài)鏈接庫和軟件包的配置文件

/usr/man 幫助文檔

/usr/src 源代碼,linux內(nèi)核的源代碼就放在/usr/src/linux里

/usr/local/bin 本地增加的命令

/usr/local/lib 本地增加的庫

二 、linux文件系統(tǒng)

文件系統(tǒng)指文件存在的物理空間,linux系統(tǒng)中每個(gè)分區(qū)都是一個(gè)文件系統(tǒng),都有自己的目錄層次結(jié)構(gòu)。linux會(huì)將這些分屬不同分區(qū)的、單獨(dú)的文件系統(tǒng)按一定的方式形成一個(gè)系統(tǒng)的總的目錄層次結(jié)構(gòu)。一個(gè)操作系統(tǒng)的運(yùn)行離不開對(duì)文件的操作,因此必然要擁有并維護(hù)自己的文件系統(tǒng)。

Llinux文件系統(tǒng)使用索引節(jié)點(diǎn)來記錄文件信息,作用像windows的文件分配表。

索引節(jié)點(diǎn)是一個(gè)結(jié)構(gòu),它包含了一個(gè)文件的長(zhǎng)度、創(chuàng)建及修改時(shí)間、權(quán)限、所屬關(guān)系、磁盤中的位置等信息。一個(gè)文件系統(tǒng)維護(hù)了一個(gè)索引節(jié)點(diǎn)的數(shù)組,每個(gè)文件或目錄都與索引節(jié)點(diǎn)數(shù)組中的唯一一個(gè)元素對(duì)應(yīng)。系統(tǒng)給每個(gè)索引節(jié)點(diǎn)分配了一個(gè)號(hào)碼,也就是該節(jié)點(diǎn)在數(shù)組中的索引號(hào),稱為索引節(jié)點(diǎn)號(hào)。

linux文件系統(tǒng)將文件索引節(jié)點(diǎn)號(hào)和文件名同時(shí)保存在目錄中。所以,目錄只是將文件的名稱和它的索引節(jié)點(diǎn)號(hào)結(jié)合在一起的一張表,目錄中每一對(duì)文件名稱和索引節(jié)點(diǎn)號(hào)稱為一個(gè)連接。

對(duì)于一個(gè)文件來說有唯一的索引節(jié)點(diǎn)號(hào)與之對(duì)應(yīng),對(duì)于一個(gè)索引節(jié)點(diǎn)號(hào),卻可以有多個(gè)文件名與之對(duì)應(yīng)。因此,在磁盤上的同一個(gè)文件可以通過不同的路徑去訪問它。

可以用ln命令對(duì)一個(gè)已經(jīng)存在的文件再建立一個(gè)新的連接,而不復(fù)制文件的內(nèi)容。連接有軟連接和硬連接之分,軟連接又叫符號(hào)連接。它們各自的特點(diǎn)是:

硬連接:原文件名和連接文件名都指向相同的物理地址。

目錄不能有硬連接;硬連接不能跨越文件系統(tǒng)(不能跨越不同的分區(qū))

文件在磁盤中只有一個(gè)拷貝,節(jié)省硬盤空間;

由于刪除文件要在同一個(gè)索引節(jié)點(diǎn)屬于唯一的連接時(shí)才能成功,因此可以防止不必要的誤刪除。

符號(hào)連接:用ln -s命令建立文件的符號(hào)連接符號(hào)連接是linux特殊文件的一種,作為一個(gè)文件,它的數(shù)據(jù)是它所連接的文件的路徑名。類似windows下的快捷方式。

可以刪除原有的文件而保存連接文件,沒有防止誤刪除功能。

這一段的的內(nèi)容過于抽象,又是節(jié)點(diǎn)又是數(shù)組的,我已經(jīng)盡量通俗再通俗了,又不好加例子作演示。大家如果還是云里霧里的話,我也沒有什么辦法了,只有先記住,日后在實(shí)際應(yīng)用中慢慢體會(huì)、理解了。這也是我學(xué)習(xí)的一個(gè)方法吧。

三 、掛載文件系統(tǒng)

由上一節(jié)知道,linux系統(tǒng)中每個(gè)分區(qū)都是一個(gè)文件系統(tǒng),都有自己的目錄層次結(jié)構(gòu)。linux會(huì)將這些分屬不同分區(qū)的、單獨(dú)的文件系統(tǒng)按一定的方式形成一個(gè)系統(tǒng)的總的目錄層次結(jié)構(gòu)。這里所說的“按一定方式”就是指的掛載。


上一頁 1 2 下一頁

關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉