LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4350|回复: 13

我用DF命令后看到这样的信息是咋回事[附:各種文件系統 ]

[复制链接]
发表于 2003-9-6 12:00:02 | 显示全部楼层 |阅读模式
[angel@redhatlinux angel]$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/hda10    ext3     9598348   4366612   4744168  48% /
none         tmpfs      256772         0    256772   0% /dev/shm
/dev/hda8     vfat    15615944  12552056   3063888  81% /mnt/G

我对:none         tmpfs      256772         0    256772   0% /dev/shm
这一信息不明白,是咋回事呀?
发表于 2003-9-6 12:29:26 | 显示全部楼层
我不明白tmpfs是什么文件系统。
 楼主| 发表于 2003-9-6 13:06:45 | 显示全部楼层
最初由 seazon 发表
我不明白tmpfs是什么文件系统。



我也不明白呀!
发表于 2003-9-6 13:25:37 | 显示全部楼层
最初由 hades 发表
我也不明白呀!

我也是:sorry
不过看他的TYPE好像是临时文件系统,但他又和/tmp的使用是有区别的,(和/swap分区不知道有什么关联?)比如你可以把一些文件放入他的挂载点/dev/shm,但是系统重启后这个目录依然是空的!而不像/tmp(他是根据crontab这个文件来自动清除临时文件的)那样保留若干天!看他的第一个域的none,我觉得他才是真正的虚拟的文件系统!有些类似/proc这个目录,我看了几本书,也没有对tmpfs这种系统类型做出什么解释
发表于 2003-9-6 22:33:57 | 显示全部楼层
最初由 javalee 发表
我也是:sorry
不过看他的TYPE好像是临时文件系统,但他又和/tmp的使用是有区别的,(和/swap分区不知道有什么关联?)比如你可以把一些文件放入他的挂载点/dev/shm,但是系统重启后这个目录依然是空的!而不像/tmp(他是根据crontab这个文件来自动清除临时文件的)那样保留若干天!看他的第一个域的none,我觉得他才是真正的虚拟的文件系统!有些类似/proc这个目录,我看了几本书,也没有对tmpfs这种系统类型做出什么解释

是啊  那些书老是偷工减料的。 :confused:
发表于 2003-9-7 09:02:39 | 显示全部楼层
上linux.org问问吧
 楼主| 发表于 2003-9-8 09:06:40 | 显示全部楼层
天呀,我那几百M的空间就这样不知道干什么用了!
:eek: :eek: :eek: :eek: :eek: :eek:
发表于 2003-9-8 10:40:57 | 显示全部楼层
楼主的内存是不是256M啊!
楼主是不是没有划分swap分区啊!
会不会是因为楼主没有创建swap分区,系统就默认把tmpfs当作交换分区呢?

以上只是小弟的假设,还请各位老大赐教,谢谢!
发表于 2003-9-8 10:48:28 | 显示全部楼层
各種檔案系統 (转)
檔案系統是建置於儲存設備的分割區之上,用以儲存檔案資料。一個檔案系統在使用之前必須先「掛上 (mount)」,將它掛在系統樹狀目錄結構的某個點上。同理,當某個分割區的檔案系統不使用時,可以將它「卸下 (umount)」,如此系統會將尚未寫入的資料寫回去,?K將它?南到y的樹狀目錄中除去。

所謂「樹狀目錄結構」意指系統檔案放置的位置整個看起?砭拖褚豢玫惯^?淼臉湟粯樱勺钌蠈拥摹父夸洝归_始,其下可以有檔案,也可以有目錄 (即微軟系統中俗稱之「資料夾」),而各目錄下還可以有子目錄與檔案,如此一路繁衍,形成狀似枝葉茂密的大樹。而每個檔案在此目錄樹的位置,就稱之為「路? (path)」。此樹狀目錄結構的檔案配置方式是 UNIX 的一大創舉,之後影響深遠,有許多作業系統都採取這樣的設計方式,包括微軟的作業系統。而與微軟作業系統不同的是,在微軟系統中每個儲存設備或分割區都以一個英文字母?碜龃恚 A: 是軟碟,C: 是硬碟的第一個分割區,而光碟可能是 D: 等等。在 UNIX 的世界中?K不採用這樣的方式,如前所述,所有建置於儲存設備或分割區上的檔案系統都是以「掛上」的方式連上整個目錄樹,因此,目錄樹上任何一個「子目錄」都可以是一個掛入點,而此後系統在做資料存取時,就與系統其他的目錄檔案存取方式一致。

由於使用前「掛上」與使用後「卸下」的動作在微軟的作業系統中都沒有,可能造成已用慣微軟系統的朋友的不適應。故在 Linux 核心中還支援「自動掛上」與「自動卸下」 (automount) 的功能,在經過適當的設定後,所有的掛上與卸下的動作都可以自動進行,使用上就與微軟的系統一般無?。

在 Linux 核心中支援各式各樣的檔案系統,使得 GNU/Linux 在各種平台間的整合能力極佳。而這些為數眾多的檔案系統,全部由「虛擬檔案系統 (Virtual File System)」管理,它提供了統一的操作介面供系統使用,故系統不需要因操作的檔案系統不同而改變其操作方式。在這些檔案系統中,屬於 UNIX ?的多半都有完整的功能?作,例如檔案屬性、檔案所有人與使用權管理、以及使用者可使用的容量管制 (Quota) 等等。而不屬於 UNIX ? (如微軟平台的) 可能就會欠缺某些功能,這是因為該檔案系統原本設計上的限制。

Linux 核心所支援的檔案系統大至分?如下:


一般檔案系統:
這些檔案系統很多是在早期的 Linux 核心版本中就有支援的,這之中包含了許多其他作業系統平台的檔案系統,包括:


ext2:
Ext2 是 GNU/Linux 系統中標準的檔案系統,其特點為存取檔案的效能極好,對於中小型的檔案尤佳,這主要得利於其資料區塊快取層的優良設計。其單一檔案大小與檔案系統本身的容量上限與檔案系統本身的資料區塊大小有關,在一般常見的 x86 電腦系統中,資料區塊最大為 4KB, 則單一檔案大小上限為 2048GB, 而檔案系統的容量上限為 16384GB。但由於目前核心 2.4 所能使用的單一分割區最大只有 2048GB,因此?際上能使用的檔案系統容量最多也只有 2048GB。


BSD 平台檔案系統:
BSD 平台是另一?的自由 UNIX 作業系統,包括 FreeBSD、NetBSD、OpenBSD 等,其中 FreeBSD 最為常見。其所採用的檔案系統稱之為 ufs。除了各種 BSD 平台以外,此?的檔案系統也用於 SunOS、NextStep 等系統中,但格式稍有不同。以 FreeBSD 的為例,其 ufs 檔案系統最大的特色是可以在分割區上在分割子區塊,稱之為 Slice,每個 Slice 可分別用?斫ㄖ脵n案系統,其使用方式就和我們平常在使用分割區一樣。此特色使得我們只需準備單一一個磁碟分割區,就可以安裝一個完整的 FreeBSD 系統。


微軟平台檔案系統:
微軟平台的檔案系統包括 msdos (使用於 MS-DOS), vfat (使用於 Win95, Win98, WinMe 等), 與 ntfs (使用於 WinNT 等)。其中 vfat 與 msdos 相當?似,差別只在於 vfat 支援長檔名而已。除此之外,Linux 核心還支援 umsdos 檔案系統,它可以直接在 msdos 檔案系統中規?一塊區域?戆惭b GNU/Linux 作業系統,而無須額外?分割區,這在早期很常見,特別是當電腦的硬碟很小,已安裝了 MS-DOS,而無法再重新分割其他分割區時。然而,使用 umsdos 其檔案讀寫效率不好,故不建議將 GNU/Linux 作業系統安裝在其上,最好還是使用 ext2。

msdos 與 vfat 很早以前就已支援完整的讀寫功能,但 ntfs 截至目前為止還只有讀的功能而已,寫的功能仍在發展中。值得一提的是 vfat 中的 codepage 支援,它可以讓 vfat 長檔名中使用各國的文字,包括我們台灣常用的 Big5 (其為 cp950)。


光碟媒體檔案系統:
此?檔案系統包括 iso9660 以及最近新開發的 udf, 前者用於一般的 CDROM,後者用於 DVD 片,二者都是唯讀檔案系統。其中 iso9660 還支援了微軟的 Joliet 的延伸規格,它可以讓 CDROM 的長檔名可以內含 Unicode 格式。


其他平台檔案系統:
以下的檔案系統在一般情況下可能較不常用,?簡述如下:


minix: 此作業系統是由阿姆斯特丹的 Andrew S. Tanenbaum 教授為教學用所發展的? UNIX 作業系統。由於是為了教學用,故其功能較為簡單陽春。而 Linux 核心在最早期草創階段,就是在此作業系統上的。

hpfs: OS/2 平台的檔案系統。

hfs: 麥金塔電腦的檔案系統。

adfs: Acorn Disc 檔案系統,用於 ARM Risc PC 的 RiscOS 作業系統上。

affs: 用於 Amiga 的 AmigaOS 作業系統上。

bfs: 用於 SCO UnixWare 作業系統上,在開機時載入核心檔案用。

efs: 用於舊的 SGI IRIX 作業系統上。

vxfs: 此為 Veritas VxFS 檔案系統,用於 SCO UnixWare,也見於 Solaris、HP-UX 及其他作業系統上。

qnx4fs: 用於 QNX 4 作業系統。

sysv: 用於 SCO, Xenix 及其他商業版 UNIX 作業系統。



日誌式檔案系統:
在之前已提過,由於檔案系統都有快取層參與運作,如不使用時必須將檔案系統卸下,以便將快取層的資料寫回磁碟中。因此每當系統要關機時,必須將其所有的檔案系統全部卸下後才能進行關機。

如果在檔案系統尚未卸下前就關機 (如停電) 時,下次重開機後會造成檔案系統的資料不一致,故這時必須做檔案系統的重整工作,將不一致與錯誤的地方修?汀H欢艘恢卣墓ぷ魇窍喈敽臅r的,特別是容量大的檔案系統,而且也不能百分之百保證所有的資料都不會流失。故這在大型的伺服器上可能會造成問題。

為了克服此問題,業界經長久的開發,而完成了所謂「日誌式檔案系統 (Journal File System) 」。此?檔案系統最大的特色是,它會將整個磁碟的寫入動作完整記錄在磁碟的某個區域上,以便有需要時可以回朔追蹤。由於資料的寫入動作包含許多的細?,像是改變檔案標頭資料、搜尋磁碟可寫入空間、一個個寫入資料區段等等,每一個細?進行到一半若被中斷,就會造成檔案系統的不一致,因而需要重整。然而,在日誌式檔案系統中,由於詳細紀錄了每個細?,故當在某個過程中被中斷時,系統可以根據這些記錄直接回朔?K重整被中斷的部分,而不必花時間去檢查其他的部分,故重整的工作速度相當快,幾乎不需要花時間。

目前在 GNU/Linux 上的日誌式檔案系統,除了 ext3 之外,其餘均為?碜詷I界的貢獻,?簡介如後:


ext3: 顧名思義,它就是 ext2 的下一代,也就是在保有目前 ext2 的格式之下再加上日誌功能。目前它離?用階段還有一段距離,也許在下一版的核心就可以上路了。

reiserfs: 此檔案系統為 Threshold Networks、Emusic.com、Bigstorage.com 等公司所支持開發,它目前已完整地與核心 2.4 整合在一起,且發展已接近成熟。其特色除了日誌功能以外,其在數量龐大的小檔案存取效率相當驚人,在某些情況下可以達到 ext2 檔案系統的三至四倍以上。

xfs: 此檔案系統為 SGI 公司所開發,已移植到 GNU/Linux 系統上,但尚未整合到 Linux 核心中。除了日誌功能以外,其最大的特色是高延展性,可以有效率地處理超大型檔案。

jfs: 此檔案系統為 IBM 公司所開發,已移植到 GNU/Linux 系統上,但尚未整合到 Linux 核心中。其主要特色與 xfs 相似。

這些新開發的檔案系統如 reiserfs、xfs、及 jfs 除了日誌功能較傳統的檔案系統 (如 ext2、ufs .... 等) 較為進步外,通常還擁有傳統檔案系統難以達到的能力,例如高處理效率、高延展性等等,這些額外的特色主要?碜詸n案系統內部的資料結構與演算法的改進。這?檔案系統都使用了平衡樹 (balanced tree) ?砉芾頇n案資料區塊以及硬碟未使用的區塊,使得在數量龐大的運作環境下可以顯著提升效率,故相當適於大型資料庫與資料搜尋的應用場合上。然而 ext3 在設計時就沒有使用這些先進的設計,主要是為了與目前的 ext2 相容之故。


網路檔案系統:
網路檔案系統?K非建置在機器本上的儲存設備上,而是用以將遠端機器的檔案系統經由網路連線掛到本身的機器上,使其使用上就與一般的檔案系統無?。Linux 核心支援了數種網路檔案系統,包括:


NFS: NFS 是此?檔案系統的代表,它是由 Sun Microsystems 公司設計發表的,現已成為各 UNIX 系統的標準配備之一。

Code (Coda?) 檔案系統: 此檔案系統與 NFS ?似,但擁有較 NFS 還先進的特色,例如斷線操作、安全性認證等。

SMB: 此檔案系統可以將微軟作業系統的「網路芳?」分享出?淼拇诺驒n案系統掛上?硎褂谩

NCP: 此檔案系統可以將 Novell NetWare 的 IPX 分享磁碟掛上?硎褂谩

虛擬檔案系統:
在 Linux 核心中,有許多檔案系統?K不是用?泶嫒?際的檔案資料。這些檔案系統在掛上後,我們可以見到其內部的檔案目錄,但?際上這些檔案目錄都不?兹魏蝺Υ嬖O備的儲存空間,因為它們根本不是?碜匀魏蝺Υ嬖O備,它們都是系統核心所製造出?淼臋n案「影像」。

這麼做的目的主要有兩個,其一就是用以方便存取系統內部資?。前面我們已說過, UNIX 世界對「檔案」的定義相當?V泛,只要它們的操作方式與一般檔案一樣或相近即可。因此,就利用這樣概念,將一些系統資?以檔案的方式出現在檔案系統中,讓應用程式可以隨時存取使用。由於它們的內容?碜院诵膬炔康馁Y料鏡像,故只要核心狀態改變,它們的內容也會立即改變。

另一個目的為有效率配置系統資源,供應用程式使用。由於應用程式要使用系統資源時,傳統的 UNIX 的做法都是去操作系統的設備檔 (device files),因此系統各裝置的設備檔必須存在,其對應的裝置才能驅動。然而,很多時候我們無法預知系統會有那些裝置存在,在大型的系統中會有相當多的裝置,但小型的桌上系統則否。如果要考慮所有可能的情況而將所有的系統設備檔都準備好,顯然不是件經?淖龇āR虼耍藛栴}就可以考慮由虛擬檔案系統?硖幚恚斚到y真的有該項裝置?K且系統核心也偵測到時,系統核心就會自動產生一個虛擬的設備檔案以代表該項裝置,如果該裝置移除了,該設備檔就會消失。

虛擬檔案系統隨著未?淼南到y裝置越?碓窖}雜、應用越?碓蕉鄻踊粩嘣黾悠浞N?與普及率。目前 Linux 核心中包含了如下的虛擬檔案系統:


proc: 用以存取系統核心狀態資?。此檔案系統同時也出現在許多新設計的 UNIX 系統上,使用相當?V泛。其內含的資?包括: 系統資源分配狀況、機器硬體組 態、各設備目前的狀態、網路系統狀態與可調整選項、以及所有執行中的行程 (process) 狀態等等。

devfs: 用以取代傳統的設備檔,使用此檔案系統時所有的系統設備檔都會依一定的規則存在於樹狀目錄群中,而且只有該裝置存在時才會存在。此為核心 2.4 的新設計,對於大型系統的延展性有相當大的幫助。目前此檔案系統尚在開發階段,在不久的將?韺被?V泛使用。

devpts: 用於接受外部網路連線 (telnet) 的虛擬終端機埠。每一個外?淼木W路連線本機都必須要準備一個虛擬終端機埠?硖幚硭總虛擬終端機埠就是一個設備檔,故在此情況下使用虛擬檔案系統是最佳的解決方式。未?懋 devfs 被?V泛採用時,devpts 的功能將完全由 devfs 取代。

特殊用途檔案系統:
此?檔案系統在一般應用上的使用機會不大,多半只會在特殊的場合上才會使用,例如嵌入式系統上。目前有越?碓蕉嗟?S商以 Linux 核心為基礎?黹_發嵌入式裝置,而這?裝置由於所擁有的儲存設備很小 (或甚至完全沒有),同時主記憶體的容量也相當有限,故往往需要特別設計的檔案系統。

目前 Linux kernel 支援下列的特殊用途檔案系統:


cramfs: 此為 Compressed ROM File System,為唯讀檔案系統,其容量上限只有 256MB,用於嵌入式裝置。

romfs: 此為非常小的唯讀檔案系統,用於唯讀的儲存媒體。

jffs: 此為日誌式快閃 (Flash) 檔案系統,用於?羧胧窖b置。

tmpfs: 此檔案系統可以用?韺n案暫時保存在主記憶體 (RAM) 中,而且其容量可以隨著保存檔案的量而增減。

ramfs: 此檔案系統也用於將檔案暫時保存在主記憶體中,與 tmpfs ?似。

參考資料:

1. Linux Kernel 2.4 Documentation.

2. Software-RAID HOWTO  

3. Wonderful World of Linux 2.4  

4. Char-RAW Device  

5. Overview of the Virtual File System  

6. Design and Implementation of the Second Extended Filesystem  

6. Journal File Systems  

7. Reiserfs  

8. XFS
发表于 2003-9-8 11:52:31 | 显示全部楼层
最初由 seazon 发表
楼主的内存是不是256M啊!
楼主是不是没有划分swap分区啊!
会不会是因为楼主没有创建swap分区,系统就默认把tmpfs当作交换分区呢?

以上只是小弟的假设,还请各位老大赐教,谢谢!

谢谢兄弟发的文档系统的转贴 :thank
我也划分了500M的swap分区,而且也有
none         tmpfs    129MB      0  129MB   0% /dev/shm
而且此目录/dev/shm也可以用,swap分区我认为是当你的主内存不够用的时候就自动启用他.

tmpfs: 此檔案系統可以用?韺n案暫時保存在主記憶體 (RAM) 中,而且其容量可以隨著保存檔案的量而增減
原来是这样的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表