Linux的檔案系統

2021-04-15 17:27:21 字數 3377 閱讀 1657

如果您是一位新手,也許 您還不知道如何把檔案從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:/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:/

通過維護系統中的裝置列表,以及裝置被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高效能檔案系統

nfs 網路檔案系統

ncpfs novellnetware檔案系統

affs amiga快速檔案系統

/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的­根部將自動構造這種目錄樹。

linux 檔案系統 Linux 檔案系統結構介紹

ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...

Linux的檔案系統

檔案系統包括兩部分,乙個是檔案 包括目錄 第二部分包括一系列的指令。檔案系統的組織結構是樹形目錄,根目錄下的子目錄我覺得最好熟記,因為他們都有對應的內容,操作也要在對應的目錄下操作。檔案的指令系統,包括好多的shell操作,下面列出一些常用的 cd cat cp file head tail ls ...

Linux的檔案系統

在linux系統中,存在著檔案系統。檔案系統是指檔案存在的物理空間。在linux系統中每 乙個分割槽都是乙個檔案系統,都有自己的目錄層次結構。linux將不同的分割槽 單獨的檔案系 統按照一定的組合方式組織成乙個系統的總的目錄層次結構。在linux中使用 索引節點 inode 來記錄檔案資訊。它的作...