• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 新手入門:淺談Linux的文件系統(tǒng)

    新手入門:淺談Linux的文件系統(tǒng)

    作者: 時間:2011-02-27 來源:網(wǎng)絡 收藏

    如果您是一位新手,也許 您還不知道如何把文件從Windows拷貝到Linux上吧?下面,我們將說明Unix文件系統(tǒng)以及mount的工作過程,然后再比較詳細地討論mount的使用和有關選項。如果您已經(jīng)了解Unix文件系統(tǒng)是如何工作的,那么可以跳過下面一節(jié)。否則,您最好繼續(xù)接著學習"mount"的含義。

      什么是mount?

      在一些操作系統(tǒng)(如Windows)中,計算機通過設備名來識別設備,例如,大多數(shù)PC機系統(tǒng)都包括"A:drive"(軟盤)、"C:drive"(硬盤)和­"D:drive"(一般是只讀光盤)。

      出于各種各樣的理由,Linux系統(tǒng)一般不采用這種方式指示存儲設備。Linux系統(tǒng)采用單一的目錄樹(類似于Windows上用戶的"C:drive"目錄樹­結(jié)構),通過mount到目錄樹的分支上來查找存儲設備的內(nèi)容。

      在這臺特定的計算機上,總共有4個硬盤驅(qū)動器,它們?nèi)急晃募到y(tǒng)管理。例如,假設我們沿用Windows系統(tǒng)的方法,給這4個硬盤驅(qū)動器分別命名為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:

      通過維護系統(tǒng)中的設備列表,以及設備被mount的情況,Linux系統(tǒng)知道到哪里去尋找包含在每個路徑表上的數(shù)據(jù),而不管數(shù)據(jù)具體存放在哪個設備上。因為數(shù)據(jù)­映射的操作是自動完成的,所以用戶不需要記住數(shù)據(jù)在哪個硬盤驅(qū)動器上。

      例如,對匿名ftp用戶,只需要記住/home/ftp是在"home"目錄上,而不需要記住所有的ftp文件都在"F:"或第4個硬盤驅(qū)動器上,這樣顯然直觀多了。同樣地,記住面向用戶的庫程序全在/usr/lib上,比必須記住面向用戶的庫程序全部在第2個硬盤驅(qū)動器的"LIB"目錄上也直觀得多。

      設備標識

      為了記住每個設備被mount到哪里,Linux系統(tǒng)需要有一種惟一的方法標識各個設備。對于人來講,通過在/dev目錄上找到設備名就完成了任務。但是,這個目錄包含了大量的特殊文件,每個文件都指示不同類型的設備,或現(xiàn)有設備上的分區(qū)。例如,/dev/hda設備指示系統(tǒng)的第一個硬盤驅(qū)動器;

      /dev/hda1指示第一個硬盤驅(qū)動器的第1分區(qū),而/dev/hda2是第2個硬盤驅(qū)動器的第2分區(qū)。表2展示了一些常用的設備文件和相應的設備。

      特殊文件 設備

      /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

      當然,有許多設備在表2中沒能列出。要看到在您的系統(tǒng)中完整的特殊設備列表,可以采用如下命令:

      #/s/dev

      不用擔心,許多設備您永遠也用不上,一般也不需要研究和記住它們。

      文件格式

      除了要記住每個設備被mount到何處,Linux系統(tǒng)還需要記住每個設備上存在什么類型的文件系統(tǒng)。對于Windows操作系統(tǒng),大多數(shù)設備存儲信息時,只采用目前流行的兩種格式,即FAT16或FAT32中的一種。只有CD-ROM驅(qū)動器是一個明顯的例外,它采用ISO-9660文件格式。對于Linux系統(tǒng),大多數(shù)設備存儲信息采用Extended-2(ext2)文件系統(tǒng)。同樣地,最顯著的例外也是CD-ROM驅(qū)動器,它依然采用ISO- 9660文件格式,但是Linux也能識別和mount其他的文件系統(tǒng)。要看看您的Linux內(nèi)核支持哪些文件系統(tǒng),可以輸入以下命令:

      #cat/proc/filesystems

      讓我們假設對于一種給定的情況,上述命令的執(zhí)行結(jié)果為:

      ext2

      vfat

      noelevproc

      iso9660

      對于這個特定的系統(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)絡文件系統(tǒng)

      ncpfs NovellNetWare文件系統(tǒng)

      affs Amiga快速文件系統(tǒng)

      Linux還支持其他一些文件系統(tǒng)。為了讓Linux支持更多的文件系統(tǒng),需要或者重新編譯Linux的內(nèi)核,或者下載有關的模塊。

      /etc/fstab文件幸運的是,在使用Linux維護目錄樹時,用戶不必經(jīng)常直接和設備名或文件系統(tǒng)打交道。我們已經(jīng)提到過,Linux在mount 文件系統(tǒng)時,會自動進行維護,它還知道每次是從什么地方開始mount文件系統(tǒng),這主要是它利用了/etc/fstab文件。對于上面提到過的4個設備的目錄,從/etc/fstab文件中可以摘出有關的內(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時將按下列步驟進行:

      ●mount第1個SCSI硬盤驅(qū)動器的第1個分區(qū)(/dev/sda1),把它作為最先的(根)文件系統(tǒng),這是一個Linux的ext2格式的磁盤;

      ●在/usr的目錄樹上,mount第2個SCSI硬盤驅(qū)動器的第1個分區(qū)(/dev/sdb1),這是一個Linux的ext2格式的磁盤;

      ●在/home/ftp的目錄樹上,Mount第3個SCSI硬盤驅(qū)動器的第2個分區(qū)(/dev/sdc2),這是一個Windows95的vfat格式的硬盤­。

      通過適當?shù)嘏渲?etc/fstab文件,用戶可以構造一個目錄樹,該目錄樹可以容納許多不同的設備,而且支持許多不同的操作系統(tǒng)文件格式。每次在Linux的­根部將自動構造這種目錄樹。

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 庆城县| 高安市| 青冈县| 松溪县| 阳谷县| 开封县| 吉林市| 大同市| 麻江县| 嘉义县| 巴林右旗| 西乌珠穆沁旗| 旺苍县| 清流县| 鸡泽县| 恭城| 河东区| 托克逊县| 镇江市| 永仁县| 宕昌县| 新乐市| 大理市| 阿鲁科尔沁旗| 安仁县| 南和县| 塘沽区| 泰来县| 武功县| 长沙市| 克什克腾旗| 泰来县| 特克斯县| 静海县| 繁昌县| 夏邑县| 霸州市| 梨树县| 塔城市| 西青区| 宜州市|