淺談Linux的檔案系統(轉)
如果您是一位新手,也許 您還不知道如何把檔案從Windows複製到Linux上吧?下面,我們將說明Unix檔案系統以及mount的工作過程,然後再比較詳細地討論
mount的使用和有關選項。如果您已經瞭解Unix檔案系統是如何工作的,那麼可以跳過下面一節。否則,您最好繼續接著學習"mount"的含義。
什麼是mount?
在一些作業系統(如Windows)中,計算機透過裝置名來識別裝置,例如,大多數PC機系統都包括"A:drive"(軟盤)、"C:drive"(硬碟)和"D:drive"(一般是隻讀光碟)。
出於各種各樣的理由,Linux系統一般不採用這種方式指示儲存裝置。Linux系統採用單一的目錄樹(類似於Windows上使用者的"C:drive"目錄樹結構),透過mount到目錄樹的分支上來查詢儲存裝置的內容。
在這臺特定的計算機上,總共有4個硬碟驅動器,它們全都被檔案系統管理。例如,假設我們沿用Windows系統的方法,給這4個硬碟驅動器分別命名為C、D、E和F,那麼它們的Linux路徑名和Windows的等價名如表1所示。
磁碟號 Linux路徑等價的Windows檔名
1/C:
1 /var C:VAR
1 /var/adm C:VARADM
1 /var/spool C:VARSPOOL
1 /home C:HOME
1 /home C:HOMEJACKON
2 /usr D:
2 /usr/lib D:USRLIB
3 /usr/X11R6 E:
4 /home F:
透過維護系統中的裝置列表,以及裝置被mount的情況,Linux系統知道到哪裡去尋找包含在每個路徑表上的資料,而不管資料具體存放在哪個裝置上。因為資料對映的操作是自動完成的,所以使用者不需要記住資料在哪個硬碟驅動器上。
例如,對匿名ftp使用者,只需要記住/home/ftp是在"home"目錄上,而不需要記住所有的ftp檔案都在"F:"或第4個硬碟驅動器上,這樣
顯然直觀多了。同樣地,記住面向使用者的庫程式全在/usr/lib上,比必須記住面向使用者的庫程式全部在第2個硬碟驅動器的"LIB"目錄上也直觀得多。
裝置標識
為了記住每個裝置被mount到哪裡,Linux系統需要有一種惟一的方法標識各個裝置。對於人來講,透過在/dev目錄上找到裝置名就完成了任務。但
是,這個目錄包含了大量的特殊檔案,每個檔案都指示不同型別的裝置,或現有裝置上的分割槽。例如,/dev/hda裝置指示系統的第一個硬碟驅動器;
/dev/hda1指示第一個硬碟驅動器的第1分割槽,而/dev/hda2是第2個硬碟驅動器的第2分割槽。表2展示了一些常用的裝置檔案和相應的裝置。
特殊檔案 裝置
/dev/fdo 第1軟盤驅動器
/dev/fdl 第2軟盤驅動器
/dev/cdrom CD-ROM驅動器
/dev/hda[1-16] 第1硬碟驅動器(IDE1,1)和分割槽1-16
/dev/hdb[1-16] 第2硬碟驅動器(IDE2,2)和分割槽1-16
/dev/sda[1-16] 第1硬碟驅動器(SCSI0)和分割槽1-16
/dev/sdb[1-16] 第2硬碟驅動器(SCSI1)和分割槽1-16
/dev/sdc[1-16] 第3硬碟驅動器(SCSI2)和分割槽1-16
/dev/sdd[1-16] 第4硬碟驅動器(SCSI3)和分割槽1-16
當然,有許多裝置在表2中沒能列出。要看到在您的系統中完整的特殊裝置列表,可以採用如下命令:
#/s/dev
不用擔心,許多裝置您永遠也用不上,一般也不需要研究和記住它們。
檔案格式
除了要記住每個裝置被mount到何處,Linux系統還需要記住每個裝置上存在什麼型別的檔案系統。對於Windows作業系統,大多數裝置儲存資訊
時,只採用目前流行的兩種格式,即FAT16或FAT32中的一種。只有CD-ROM驅動器是一個明顯的例外,它採用ISO-9660檔案格式。對於
Linux系統,大多數裝置儲存資訊採用Extended-2(ext2)檔案系統。同樣地,最顯著的例外也是CD-ROM驅動器,它依然採用ISO-
9660檔案格式,但是Linux也能識別和mount其他的檔案系統。要看看您的Linux核心支援哪些檔案系統,可以輸入以下命令:
#cat/proc/filesystems
讓我們假設對於一種給定的情況,上述命令的執行結果為:
ext2
vfat
noelevproc
iso9660
對於這個特定的系統,Linux核心支援ext2、vfat、proc和iso9660檔案系統。表3給出了Linux所支援的大部分檔案系統型別。
檔案系統 作業系統或型別
ext2 LinuxExtended-2
minix Minix檔案系統
msdos 最初的FAT檔案系統(短檔名)
vfat 其他FAT檔案系統(長檔名)
ntfs WindowsNT檔案系統(長檔名)
hpft OS/2高效能檔案系統
hfs AppleMacintosh檔案系統
nfs 網路檔案系統
ncpfs NovellNetWare檔案系統
affs Amiga快速檔案系統
Linux還支援其他一些檔案系統。為了讓Linux支援更多的檔案系統,需要或者重新編譯Linux的核心,或者下載有關的模組。
/etc/fstab檔案幸運的是,在使用Linux維護目錄樹時,使用者不必經常直接和裝置名或檔案系統打交道。我們已經提到過,Linux在mount
檔案系統時,會自動進行維護,它還知道每次是從什麼地方開始mount檔案系統,這主要是它利用了/etc/fstab檔案。對於上面提到過的4個裝置的
目錄,從/etc/fstab檔案中可以摘出有關的內容:
/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時將按下列步驟進行:
●mount第1個SCSI硬碟驅動器的第1個分割槽(/dev/sda1),把它作為最先的(根)檔案系統,這是一個Linux的ext2格式的磁碟;
●在/usr的目錄樹上,mount第2個SCSI硬碟驅動器的第1個分割槽(/dev/sdb1),這是一個Linux的ext2格式的磁碟;
●在/home/ftp的目錄樹上,Mount第3個SCSI硬碟驅動器的第2個分割槽(/dev/sdc2),這是一個Windows95的vfat格式的硬碟。
透過適當地配置/etc/fstab檔案,使用者可以構造一個目錄樹,該目錄樹可以容納許多不同的裝置,而且支援許多不同的作業系統檔案格式。每次在Linux的根部將自動構造這種目錄樹。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-939812/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新手入門:淺談Linux的檔案系統Linux
- Linux檔案系統 (轉)Linux
- 細說GNU/Linux系統的檔案及檔案系統(轉)Linux
- 淺談Unix系統管理(轉)
- Linux 環境下 Makefile 檔案製作淺談(一)(轉)Linux
- Linux 環境下 Makefile 檔案製作淺談(二)(轉)Linux
- Linux 檔案系統-ext3 檔案系統介紹(轉)Linux
- linux檔案系統基礎(轉)Linux
- Linux掛載檔案系統(轉)Linux
- 淺談hosts檔案
- Linux系統檔案型別及檔案的副檔名(轉)Linux型別
- 淺談教你如何掌握Linux系統Linux
- Linux檔案系統的桌面應用(轉)Linux
- 淺嘗Node檔案系統
- 淺談linux作業系統的最佳化及安全配置(轉)Linux作業系統
- Linux作業系統的中文輸入三劍客淺談(轉)Linux作業系統
- Linux作業系統檔案系統的桌面應用(轉)Linux作業系統
- 解析Linux系統根檔案系統的目錄樹(轉)Linux
- 淺談CPC系統與ERP的整合 (轉)
- Linux 指令篇:檔案系統--mount(轉)Linux
- Linux 指令篇:檔案系統--mkfs(轉)Linux
- linux的檔案系統Linux
- Linux 淺談Linux 作業系統的安全設定Linux作業系統
- 淺談Linux作業系統的Swap交換區Linux作業系統
- 淺析 Linux 的共享記憶體與 tmpfs 檔案系統Linux記憶體
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- 關於Linux系統中檔案系統路徑的理解(轉)Linux
- 淺談ERP中的會計核算系統(轉)
- Linux從初期化檔案談Linux的Shell(轉)Linux
- Linux檔案系統Linux
- linux 檔案系統Linux
- Linux下加掛檔案系統的小結(轉)Linux
- 淺談 Android Dex 檔案Android
- Linux系統檔案系統及檔案基礎篇Linux
- 淺談Android的檔案儲存Android
- 檔案管理系統 (轉)
- 轉載.Linux三大檔案系統比較Linux
- linux環境下使用XFS檔案系統(轉)Linux