新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux 掛載文件系統(tǒng)

Linux 掛載文件系統(tǒng)

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

1、掛載點(diǎn)必須是一個(gè)目錄。

本文引用地址:http://butianyuan.cn/article/201609/304115.htm

2、一個(gè)分區(qū)掛載在一個(gè)已存在的目錄上,這個(gè)目錄可以不為空,但掛載后這個(gè)目錄下以前的內(nèi)容將不可用。

對(duì)于其他操作系統(tǒng)建立的文件系統(tǒng)的掛載也是這樣。但是需要理解的是:光盤、軟盤、其他操作系統(tǒng)使用的文件系統(tǒng)的格式與linux使用的文件系統(tǒng)格式是不一樣的。光盤是ISO9660;軟盤是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、NTFS。掛載前要了解linux是否支持所要掛載的文件系統(tǒng)格式。

掛載時(shí)使用mount命令:

格式:mount [-參數(shù)] [設(shè)備名稱] [掛載點(diǎn)]

其中常用的參數(shù)有

-t文件系統(tǒng)類型> 指定設(shè)備的文件系統(tǒng)類型,常見的有:

minix linux最早使用的文件系統(tǒng)

ext2 linux目前常用的文件系統(tǒng)

msdos MS-DOS的fat,就是fat16

vfat windows98常用的fat32

nfs 網(wǎng)絡(luò)文件系統(tǒng)

iso9660 CD-ROM光盤標(biāo)準(zhǔn)文件系統(tǒng)

ntfs windows NT 2000的文件系統(tǒng)

hpfs OS/2文件系統(tǒng)

auto 自動(dòng)檢測(cè)文件系統(tǒng)

-o選項(xiàng)> 指定系統(tǒng)時(shí)的選項(xiàng)。有些也可用在/etc/fstab中。常用的有

codepage=XXX 代碼頁

iocharset=XXX 字符集

ro 以只讀方式掛載

rw 以讀寫方式掛載

nouser 使一般用戶無法掛載

user 可以讓一般用戶掛載設(shè)備

提醒一下,mount命令沒有建立掛載點(diǎn)的功能,因此你應(yīng)該確保執(zhí)行mount命令時(shí),掛載點(diǎn)已經(jīng)存在。(不懂?說白了點(diǎn)就是你要把文件系統(tǒng)掛載到哪,首先要先建上個(gè)目錄。這樣OK?)

例子:windows98裝在hda1分區(qū),同時(shí)計(jì)算機(jī)上還有軟盤和光盤需要掛載。

# mk /mnt/winc

# mk /mnt/floppy

# mk /mnt/cdrom

# mount -t vfat /dev/hda1 /mnt/winc

# mount -t msdos /dev/fd0 /mnt/floppy

# mount -t iso9660 /dev/cdrom /mnt/cdrom

現(xiàn)在就可以進(jìn)入/mnt/winc等目錄讀寫這些文件系統(tǒng)了。

要保證最后兩行的命令不出錯(cuò),要確保軟驅(qū)和光驅(qū)里有盤。(要是硬盤的磁盤片也可以經(jīng)常隨時(shí)更換的話,我想就不會(huì)犯這樣的錯(cuò)誤了 :-> )

如果你的windows98目錄里有中文文件名,使用上面的命令掛載后,顯示的是一堆亂碼。這就要用到 -o 參數(shù)里的codepage iocharset選項(xiàng)。codepage指定文件系統(tǒng)的代碼頁,簡(jiǎn)體中文中文代碼是936;iocharset指定字符集,簡(jiǎn)體中文一般用cp936或gb2312。

當(dāng)掛載的文件系統(tǒng)linux不支持時(shí),mount一定報(bào)錯(cuò),如windows2000的ntfs文件系統(tǒng)。可以重新編譯linux內(nèi)核以獲得對(duì)該文件系統(tǒng)的支持。關(guān)于重新編譯linux內(nèi)核,就不在這里說了。

四 、自動(dòng)掛載

每次開機(jī)訪問windows分區(qū)都要運(yùn)行mount命令顯然太煩瑣,為什么訪問其他的linux分區(qū)不用使用mount命令呢?

其實(shí),每次開機(jī)時(shí),linux自動(dòng)將需要掛載的linux分區(qū)掛載上了。那么我們是不是可以設(shè)定讓linux在啟動(dòng)的時(shí)候也掛載我們希望掛載的分區(qū),如windows分區(qū),以實(shí)現(xiàn)文件系統(tǒng)的自動(dòng)掛載呢?

這是完全可以的。在/etc目錄下有個(gè)fstab文件,它里面列出了linux開機(jī)時(shí)自動(dòng)掛載的文件系統(tǒng)的列表。我的/etc/fstab文件如下:

/dev/hda2 / ext3 defaults 1 1

/dev/hda1 /boot ext3 defaults 1 2

none /dev/pts devpts gid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

/dev/hda3 swap swap defaults 0 0

/dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0

/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

/dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0

/dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0

在/etc/fstab文件里,第一列是掛載的文件系統(tǒng)的設(shè)備名,第二列是掛載點(diǎn),第三列是掛載的文件系統(tǒng)類型,第四列是掛載的選項(xiàng),選項(xiàng)間用逗號(hào)分隔。第五六列不知道是什么意思,還望高手指點(diǎn)。

在最后兩行是我手工添加的windows下的C;D盤,加了codepage=936和iocharset=cp936參數(shù)以支持中文文件名。參數(shù)defaults實(shí)際上包含了一組默認(rèn)參數(shù):

rw 以可讀寫模式掛載

suid 開啟用戶ID和群組ID設(shè)置位

dev 可解讀文件系統(tǒng)上的字符或區(qū)塊設(shè)備

exec 可執(zhí)行二進(jìn)制文件

auto 自動(dòng)掛載

nouser 使一般用戶無法掛載

async 以非同步方式執(zhí)行文件系統(tǒng)的輸入輸出操作

大家可以看到在這個(gè)列表里,光驅(qū)和軟驅(qū)是不自動(dòng)掛載的,參數(shù)設(shè)置為noauto。(如果你非要設(shè)成自動(dòng)掛載,你要確保每次開機(jī)時(shí)你的光驅(qū)和軟驅(qū)里都要有盤,呵呵。)



關(guān)鍵詞: Linux 掛載文件

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉