www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 一 、Linux文件結(jié)構(gòu)文件結(jié)構(gòu)是文件存放在磁盤等存貯設(shè)備上的組織方法。主要體現(xiàn)在對文件和目錄的組織上。目錄提供了管理文件的一個(gè)方便而有效的途徑。Linux使用標(biāo)準(zhǔn)的目錄

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

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

目錄提供了管理文件的一個(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

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

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

因?yàn)閘inux是一個(gè)多用戶系統(tǒng),制定一個(gè)固定的目錄規(guī)劃有助于對系統(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 啟動的配置文件和腳本

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

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

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

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

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

/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 超級用戶的一些管理程序

/usr/doc linux文檔

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

/usr/lib 常用的動態(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會將這些分屬不同分區(qū)的、單獨(dú)的文件系統(tǒng)按一定的方式形成一個(gè)系統(tǒng)的總的目錄層次結(jié)構(gòu)。一個(gè)操作系統(tǒng)的運(yùn)行離不開對文件的操作,因此必然要擁有并維護(hù)自己的文件系統(tǒng)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

將一個(gè)文件系統(tǒng)的頂層目錄掛到另一個(gè)文件系統(tǒng)的子目錄上,使它們成為一個(gè)整體,稱為掛載。把該子目錄稱為掛載點(diǎn)。

舉個(gè)例子吧:

根分區(qū):

/根目錄

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

┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

bin home dev etc lib sbin tmp usr var

┏━┻━┓

┃ ┃

rc.d cron.d

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

┃ ┃ ┃ ┃ ┃

init.d rc0.d rc1.d rc2.d ……

/usr分區(qū) :

usr

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

┃ ┃ ┃ ┃ ┃ ┃

X11R6 src lib local man bin

┃ ┃

┃ ┏━━━╋━━━┓

┃ ┃ ┃ ┃

linux bin lib src

掛載之后就形成了文章開始時(shí)的那個(gè)圖。像不像掛上去的?

注意:1、掛載點(diǎn)必須是一個(gè)目錄。

2、一個(gè)分區(qū)掛載在一個(gè)已存在的目錄上,這個(gè)目錄可以不為空,但掛載后這個(gè)目錄下以前的內(nèi)容將不可用。

對于其他操作系統(tǒng)建立的文件系統(tǒng)的掛載也是這樣。但是需要理解的是:光盤、軟盤、其他操作系統(tǒng)使用的文件系統(tǒng)的格式與linux使用的文件系統(tǒng)格式是不一樣的。光盤是ISO9660;軟盤是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。掛載前要了解linux是否支持所要掛載的文件系統(tǒng)格式。

掛載時(shí)使用mount命令:

格式:mount [-參數(shù)] [設(shè)備名稱] [掛載點(diǎn)]

其中常用的參數(shù)有

-t 指定設(shè)備的文件系統(tǒng)類型,常見的有:

minix linux最早使用的文件系統(tǒng)

ext2 linux目前常用的文件系統(tǒng)

msdos MS-DOS的fat,就是fat16

vfat windows98常用的fat32

nfs 網(wǎng)絡(luò)文件系統(tǒng)

iso9660 CD-ROM光盤標(biāo)準(zhǔn)文件系統(tǒng)

ntfs windows NT 2000的文件系統(tǒng)

hpfs OS/2文件系統(tǒng)

auto 自動檢測文件系統(tǒng)

-o 指定掛載文件系統(tǒng)時(shí)的選項(xiàng)。有些也可用在/etc/fstab中。常用的  有

codepage=XXX 代碼頁

iocharset=XXX 字符集

ro 以只讀方式掛載

rw 以讀寫方式掛載

nouser 使一般用戶無法掛載

user 可以讓一般用戶掛載設(shè)備

提醒一下,mount命令沒有建立掛載點(diǎn)的功能,因此你應(yīng)該確保執(zhí)行mount命令時(shí),掛載點(diǎn)已經(jīng)存在。(不懂?說白了點(diǎn)就是你要把文件系統(tǒng)掛載到哪,首先要先建上個(gè)目錄。這樣OK?)

例子:windows98裝在hda1分區(qū),同時(shí)計(jì)算機(jī)上還有軟盤和光盤需要掛載。

# mk /mnt/winc

# mk /mnt/floppy

# mk /mnt/cdrom

# mount -t vfat /dev/hda1 /mnt/winc

# mount -t msdos /dev/fd0 /mnt/floppy

# mount -t iso9660 /dev/cdrom /mnt/cdrom

現(xiàn)在就可以進(jìn)入/mnt/winc等目錄讀寫這些文件系統(tǒng)了。

要保證最后兩行的命令不出錯(cuò),要確保軟驅(qū)和光驅(qū)里有盤。(要是硬盤的磁盤片也可以經(jīng)常隨時(shí)更換的話,我想就不會犯這樣的錯(cuò)誤了 :-> )

如果你的windows98目錄里有中文文件名,使用上面的命令掛載后,顯示的是一堆亂碼。這就要用到 -o 參數(shù)里的codepage iocharset選項(xiàng)。codepage指定文件系統(tǒng)的代碼頁,簡體中文中文代碼是936;iocharset指定字符集,簡體中文一般用cp936或 gb2312。

當(dāng)掛載的文件系統(tǒng)linux不支持時(shí),mount一定報(bào)錯(cuò),如windows2000的ntfs文件系統(tǒng)。可以重新編譯linux內(nèi)核以獲得對該文件系統(tǒng)的支持。關(guān)于重新編譯linux內(nèi)核,就不在這里說了。

四 、自動掛載

每次開機(jī)訪問windows分區(qū)都要運(yùn)行mount命令顯然太煩瑣,為什么訪問其他的linux分區(qū)不用使用mount命令呢?

其實(shí),每次開機(jī)時(shí),linux自動將需要掛載的linux分區(qū)掛載上了。那么我們是不是可以設(shè)定讓linux在啟動的時(shí)候也掛載我們希望掛載的分區(qū),如windows分區(qū),以實(shí)現(xiàn)文件系統(tǒng)的自動掛載呢?

這是完全可以的。在/etc目錄下有個(gè)fstab文件,它里面列出了linux開機(jī)時(shí)自動掛載的文件系統(tǒng)的列表。我的/etc/fstab文件如下:

/dev/hda2 / ext3 defaults 1 1

/dev/hda1 /boot ext3 defaults 1 2

none /dev/pts devpts gid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

/dev/hda3 swap swap defaults 0 0

/dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0

/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

/dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0

/dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0

在/etc/fstab文件里,第一列是掛載的文件系統(tǒng)的設(shè)備名,第二列是掛載點(diǎn),第三列是掛載的文件系統(tǒng)類型,第四列是掛載的選項(xiàng),選項(xiàng)間用逗號分隔。第五六列不知道是什么意思,還望高手指點(diǎn)。

在最后兩行是我手工添加的windows下的C;D盤,加了codepage=936和iocharset=cp936參數(shù)以支持中文文件名。參數(shù)defaults實(shí)際上包含了一組默認(rèn)參數(shù):

rw 以可讀寫模式掛載

suid 開啟用戶ID和群組ID設(shè)置位

dev 可解讀文件系統(tǒng)上的字符或區(qū)塊設(shè)備

exec 可執(zhí)行二進(jìn)制文件

auto 自動掛載

nouser 使一般用戶無法掛載

async 以非同步方式執(zhí)行文件系統(tǒng)的輸入輸出操作

大家可以看到在這個(gè)列表里,光驅(qū)和軟驅(qū)是不自動掛載的,參數(shù)設(shè)置為noauto。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

上海2025年9月1日 /美通社/ -- 8月29日,由國際獨(dú)立第三方檢測、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵")...

關(guān)鍵字: 工程師 REGULATION 基礎(chǔ)知識 智能化

中國深圳2025年8月26日 /美通社/ -- 2025年8月26日,中集車輛(301039.SZ)召開2025年中期業(yè)績說明會。2025年上半年,中集車輛穩(wěn)健前行,實(shí)現(xiàn)營收97.5億元,毛利達(dá)14.6億元,加速演化成星...

關(guān)鍵字: 電動 EV 新能源 供應(yīng)鏈

上海2025年7月28日 /美通社/ -- 為期四天的2025國際低空經(jīng)濟(jì)博覽會于7月26日圓滿落幕。作為聚焦低空經(jīng)濟(jì)全產(chǎn)業(yè)鏈為核心的國際性展會,本屆博覽會以"啟航低空經(jīng)濟(jì),賦能千行百業(yè)"為主題,吸引...

關(guān)鍵字: EV 無人機(jī) 飛機(jī) 飛行器

上海2025年7月25日 /美通社/ -- 昨日,在首屆上海國際低空經(jīng)濟(jì)博覽會現(xiàn)場,昂際智航與翊飛航空科技正式簽署ES1000型號鐵鳥及101工程實(shí)驗(yàn)樣機(jī)飛控電子集成和試飛支持合同。此次采購合同簽署標(biāo)志著雙方自2024年...

關(guān)鍵字: 運(yùn)輸機(jī) 飛控系統(tǒng) EV ST

-2025年智慧城市博覽會將以史上最大規(guī)模召開,呼吁城市成為變革推動者 西班牙巴塞羅那 2025年7月4日 /美通社/ -- 由巴塞羅那會展中心(Fira de Barc...

關(guān)鍵字: 智慧城市 CE RC AI

以 AI 為核心的智能汽車平臺將加速向軟件定義出行的轉(zhuǎn)型進(jìn)程 德國埃朗根 2025年6月25日 /美通社/ -- Elektrobit 今日宣布與全球領(lǐng)先的電子制造商之一——鴻??萍技瘓F(tuán)(富士康)...

關(guān)鍵字: 汽車 軟件定義 OS EV

上海 2025年5月26日 /美通社/ -- 5月26日,國際獨(dú)立第三方檢測、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵"...

關(guān)鍵字: 數(shù)字化 RC 供應(yīng)鏈管理 中國制造

5月19日消息,據(jù)日經(jīng)中文報(bào)道,日產(chǎn)汽車5月9日發(fā)布消息稱,將放棄在日本國內(nèi)建設(shè)該公司首座純電動汽車(EV)電池工廠的計(jì)劃。由于業(yè)績不佳,日產(chǎn)認(rèn)為很難進(jìn)行巨額投資。

關(guān)鍵字: EV 新能源

-CleverTap收購rehook.ai,加強(qiáng)人工智能驅(qū)動的促銷和客戶留存能力 整合rehook.ai的創(chuàng)新促銷引擎,統(tǒng)一分析、互動和促銷,促進(jìn)人工智能驅(qū)動的營銷活動和客戶留存 舊金山和印度孟買2025年4月16日...

關(guān)鍵字: EV AI 智能驅(qū)動 人工智能

北京2025年4月9日 /美通社/ -- 隸屬于AVEVA 劍維軟件集團(tuán)旗下的泰爾文特控制系統(tǒng)(中國)有限公司(以下簡稱"泰爾文特")獲得"北京市外資研發(fā)中心"認(rèn)定,并于2025中...

關(guān)鍵字: 控制系統(tǒng) 研發(fā)中心 軟件 EV
關(guān)閉