淺論Linux的文件系統(tǒng)
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-04 12:29:11
引言
每個(gè)人都有次接觸某件事物,或者對其不夠熟悉。就如你現(xiàn)在是Linux菜鳥,現(xiàn)在你急需把一些文件從Windows拷貝到Linux上。那怎么辦呢?下面我們將說明Unix文件系統(tǒng)以及mount的工作過程,然后再比較詳細(xì)地討論mount的使用和有關(guān)選項(xiàng)。首先我們要學(xué)習(xí)下有關(guān)"mount"的含義,了解Unix文件系統(tǒng)是如何工作的。然后再進(jìn)一步了解如何在2個(gè)不同系統(tǒng)間拷貝文件。
什么是mount?
在一些操作系統(tǒng)(如Windows)中,計(jì)算機(jī)通過設(shè)備名來識別設(shè)備,例如,大多數(shù)PC機(jī)系統(tǒng)都包括"A:drive"(軟盤)、"C:drive"(硬盤)和?"D:drive"(一般是只讀光盤)。
出于各種各樣的理由,Linux系統(tǒng)一般不采用這種方式指示存儲設(shè)備。Linux系統(tǒng)采用單一的目錄樹(類似于Windows上用戶的"C:drive"目錄樹?結(jié)構(gòu)),通過mount到目錄樹的分支上來查找存儲設(shè)備的內(nèi)容。
在這臺特定的計(jì)算機(jī)上,總共有4個(gè)硬盤驅(qū)動器,它們?nèi)急晃募到y(tǒng)管理。例如,假設(shè)我們沿用Windows系統(tǒng)的方法,給這4個(gè)硬盤驅(qū)動器分別命名為C、D、E?和F,那么它們的Linux路徑名和Windows的等價(jià)名如表1所示。
磁盤號 Linux路徑等價(jià)的Windows文件名
1/C:\
1 /var C:\VAR
1 /var/adm C:\VAR\ADM
1 /var/spool C:\VAR\SPOOL
1 /home C:\HOME
1 /home C:\HOMEJACKON
2 /usr D:\
2 /usr/lib D:\USR\LIB
3 /usr/X11R6 E:\
4 /home F:\
通過維護(hù)系統(tǒng)中的設(shè)備列表,以及設(shè)備被mount的情況,Linux系統(tǒng)知道到哪里去尋找包含在每個(gè)路徑表上的數(shù)據(jù),而不管數(shù)據(jù)具體存放在哪個(gè)設(shè)備上。因?yàn)閿?shù)據(jù)映射的操作是自動完成的,所以用戶不需要記住數(shù)據(jù)在哪個(gè)硬盤驅(qū)動器上。
例如,對匿名ftp用戶,只需要記住/home/ftp是在"home"目錄上,而不需要記住所有的ftp文件都在"F:\"或第4個(gè)硬盤驅(qū)動器上,這樣顯然直觀多了。同樣地,記住面向用戶的庫程序全在/usr/lib上,比必須記住面向用戶的庫程序全部在第2個(gè)硬盤驅(qū)動器的"LIB"目錄上也直觀得多。
設(shè)備標(biāo)識
為了記住每個(gè)設(shè)備被mount到哪里,Linux系統(tǒng)需要有一種惟一的方法標(biāo)識各個(gè)設(shè)備。對于人來講,通過在/dev目錄上找到設(shè)備名就完成了任務(wù)。但是,這個(gè)目錄包含了大量的特殊文件,每個(gè)文件都指示不同類型的設(shè)備,或現(xiàn)有設(shè)備上的分區(qū)。例如,/dev/hda設(shè)備指示系統(tǒng)的個(gè)硬盤驅(qū)動器;
/dev/hda1指示個(gè)硬盤驅(qū)動器的第1分區(qū),而/dev/hda2是第2個(gè)硬盤驅(qū)動器的第2分區(qū)。表2展示了一些常用的設(shè)備文件和相應(yīng)的設(shè)備。
特殊文件 設(shè)備
/dev/fdo 第1軟盤驅(qū)動器
/dev/fdl 第2軟盤驅(qū)動器
/dev/cdrom CD-ROM驅(qū)動器
/dev/hda[1-16] 第1硬盤驅(qū)動器(IDE1,1)和分區(qū)1-16
/dev/hdb[1-16] 第2硬盤驅(qū)動器(IDE2,2)和分區(qū)1-16
/dev/sda[1-16] 第1硬盤驅(qū)動器(SCSI0)和分區(qū)1-16
/dev/sdb[1-16] 第2硬盤驅(qū)動器(SCSI1)和分區(qū)1-16
/dev/sdc[1-16] 第3硬盤驅(qū)動器(SCSI2)和分區(qū)1-16
/dev/sdd[1-16] 第4硬盤驅(qū)動器(SCSI3)和分區(qū)1-16
當(dāng)然,有許多設(shè)備在表2中沒能列出。要看到在您的系統(tǒng)中完整的特殊設(shè)備列表,可以采用如下命令:
#/s/dev
不用擔(dān)心,許多設(shè)備您永遠(yuǎn)也用不上,一般也不需要研究和記住它們。
文件格式
在Linux系統(tǒng)除了要記住每個(gè)設(shè)備被mount到何處,還需要記住每個(gè)設(shè)備上存在什么類型的文件系統(tǒng)。對于Windows操作系統(tǒng),大多數(shù)設(shè)備存儲信息時(shí),只采用目前流行的兩種格式,即FAT16或FAT32中的一種。只有CD-ROM驅(qū)動器是一個(gè)明顯的例外,它采用ISO-9660文件格式。對于Linux系統(tǒng),大多數(shù)設(shè)備存儲信息采用Extended-2(ext2)文件系統(tǒng)。同樣地,顯著的例外也是CD-ROM驅(qū)動器,它依然采用ISO- 9660文件格式,但是Linux也能識別和mount其他的文件系統(tǒng)。要看看您的Linux內(nèi)核支持哪些文件系統(tǒng),可以輸入以下命令:
#cat/proc/filesystems
讓我們假設(shè)對于一種給定的情況,上述命令的執(zhí)行結(jié)果為:
ext2
vfat
noelevproc
iso9660
對于這個(gè)特定的系統(tǒng),Linux內(nèi)核支持ext2、vfat、proc和iso9660文件系統(tǒng)。表3給出了Linux所支持的大部分文件系統(tǒng)類型。
文件系統(tǒng) 操作系統(tǒng)或類型
ext2 LinuxExtended-2
minix Minix文件系統(tǒng)
msdos 初的FAT文件系統(tǒng)(短文件名)
vfat 其他FAT文件系統(tǒng)(長文件名)
ntfs WindowsNT文件系統(tǒng)(長文件名)
hpft OS/2高性能文件系統(tǒng)
hfs AppleMacintosh文件系統(tǒng)
nfs 網(wǎng)絡(luò)文件系統(tǒng)
ncpfs NovellNetWare文件系統(tǒng)
affs Amiga快速文件系統(tǒng)
Linux還支持其他一些文件系統(tǒng)。為了讓Linux支持更多的文件系統(tǒng),需要或者重新編譯Linux的內(nèi)核,或者有關(guān)的模塊。
/etc/fstab文件幸運(yùn)的是,在使用Linux維護(hù)目錄樹時(shí),用戶不必經(jīng)常直接和設(shè)備名或文件系統(tǒng)打交道。我們已經(jīng)提到過,Linux在mount 文件系統(tǒng)時(shí),會自動進(jìn)行維護(hù),它還知道每次是從什么地方開始mount文件系統(tǒng),這主要是它利用了/etc/fstab文件。對于上面提到過的4個(gè)設(shè)備的目錄,從/etc/fstab文件中可以摘出有關(guān)的內(nèi)容:
/dev/sda1 / ext2 defaults 1 1
/dev/sdc1 /usr ext2 ext2 defaults 1 2
/dev/sdc1 /usr/X11R6 ext2 defaults 1 2
/dev/sdc2 /home/ftp vfat defaults 1 2
對上述給定的/etc/fstab信息,Linux每次開始mount時(shí)將按下列步驟進(jìn)行:
●mount第1個(gè)SCSI硬盤驅(qū)動器的第1個(gè)分區(qū)(/dev/sda1),把它作為的(根)文件系統(tǒng),這是一個(gè)Linux的ext2格式的磁盤;
●在/usr的目錄樹上,mount第2個(gè)SCSI硬盤驅(qū)動器的第1個(gè)分區(qū)(/dev/sdb1),這是一個(gè)Linux的ext2格式的磁盤;
●在/home/ftp的目錄樹上,Mount第3個(gè)SCSI硬盤驅(qū)動器的第2個(gè)分區(qū)(/dev/sdc2),這是一個(gè)Windows95的vfat格式的硬盤?。
通過適當(dāng)?shù)嘏渲?etc/fstab文件,用戶可以構(gòu)造一個(gè)目錄樹,該目錄樹可以容納許多不同的設(shè)備,而且支持許多不同的操作系統(tǒng)文件格式。每次在Linux的?根部將自動構(gòu)造這種目錄樹。
關(guān)于Linux
準(zhǔn)確的說,是指Linux的kernel(系統(tǒng)的程序),其內(nèi)核版權(quán)屬于Linus Torvalds,在GPL(GNU General Public License)版權(quán)協(xié)議下發(fā)行, 任何人都可以自由的復(fù)制(copy), 修改(change), 套裝分發(fā)(distribute),銷售,但是不可以在分發(fā)時(shí)加入任何限制, 而且所有原碼必須是公開的,所以任何人都可以無償取得所有執(zhí)行文件和原代碼。
對于Linux用戶和系統(tǒng)管理員來說,Linux是指包含Linux kernel、utilities (系統(tǒng)工具程序)以及application (應(yīng)用軟件)的一個(gè)完整的操作系統(tǒng)。Linux的應(yīng)用軟件是由自由軟件基金會(FSF)開發(fā)的,全世界許多熱心的程序員為Linux開發(fā)或移植了很多應(yīng)用程序,包括X-Windows、Emacs、TCP/IP網(wǎng)絡(luò)(包括SLIP/PPP/ISDN)等等,現(xiàn)在Linux(包括內(nèi)核和大量的應(yīng)用程序)光是執(zhí)行程序就已經(jīng)達(dá)到200M,完全安裝后的規(guī)模將更大(大約500M左右)。
從本質(zhì)上講,Linux是Unix的”克隆”或Unix風(fēng)格的操作系統(tǒng),在原代碼級上兼容絕大部分的Unix標(biāo)準(zhǔn)(如IEEE POSIX,System V,BSD),它遵從 POSIX規(guī)范,例如對于System V來說,把其上程序源代碼拿到 Linux下重新編譯后就可以運(yùn)行,而對于BSD Unix來說,它的可執(zhí)行文件可以直接在Linux環(huán)境下運(yùn)行。
Linux的標(biāo)志是可愛的企鵝,至于為什么選用企鵝,Linus是這樣說的:別的都被他人用了,企鵝,不是也非??蓯蹎幔?!由Linux作者發(fā)布的僅僅是一個(gè)內(nèi)核而己,有一些公司或組織把內(nèi)核、原代碼及相關(guān)的應(yīng)用程序組織在一起發(fā)行, 于是就產(chǎn)生了不同的Linux發(fā)行(distributor)版本, 比較著名的發(fā)行版本有RedHat、SlackWare 、S.u.S.e、Debian 等。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









