linux mount/umount命令
如果想在運(yùn)行的Linux下訪(fǎng)問(wèn)其它文件系統(tǒng)中的資源的話(huà),就要用mount命令來(lái)實(shí)現(xiàn)。
1. mount的基本用法是?
格式:mount [-參數(shù)] [設(shè)備名稱(chēng)] [掛載點(diǎn)]
其中常用的參數(shù)有:
-a 安裝在/etc/fstab文件中類(lèi)出的所有文件系統(tǒng)。
-f 偽裝mount,作出檢查設(shè)備和目錄的樣子,但并不真正掛載文件系統(tǒng)。
-n 不把安裝記錄在/etc/mtab 文件中。
-r 講文件系統(tǒng)安裝為只讀。
-v 詳細(xì)顯示安裝信息。
-w 將文件系統(tǒng)安裝為可寫(xiě),為命令默認(rèn)情況。
-t 指定設(shè)備的文件系統(tǒng)類(lèi)型,常見(jiàn)的有:
ext2 linux目前常用的文件系統(tǒng)
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 網(wǎng)絡(luò)文件系統(tǒng)
iso9660 CD-ROM光盤(pán)標(biāo)準(zhǔn)文件系統(tǒng)
ntfs windows NT/2000/XP的文件系統(tǒng)
auto 自動(dòng)檢測(cè)文件系統(tǒng)
-o 指定掛載文件系統(tǒng)時(shí)的選項(xiàng),有些也可寫(xiě)到在/etc/fstab中。常用的有:
defaults 使用所有選項(xiàng)的默認(rèn)值(auto、nouser、rw、suid)
auto/noauto 允許/不允許以 –a選項(xiàng)進(jìn)行安裝
dev/nodev 對(duì)/不對(duì)文件系統(tǒng)上的特殊設(shè)備進(jìn)行解釋
exec/noexec 允許/不允許執(zhí)行二進(jìn)制代碼
suid/nosuid 確認(rèn)/不確認(rèn)suid和sgid位
user /nouser 允許/不允許一般用戶(hù)掛載
codepage=XXX 代碼頁(yè)
iocharset=XXX 字符集
ro 以只讀方式掛載
rw 以讀寫(xiě)方式掛載
remount 重新安裝已經(jīng)安裝了的文件系統(tǒng)
loop 掛載回旋設(shè)備
需要注意的是,掛載點(diǎn)必須是一個(gè)已經(jīng)存在的目錄,這個(gè)目錄可以不為空,但掛載后這個(gè)目錄下以前的內(nèi)容將不可用,umount以后會(huì)恢復(fù)正常。使用多個(gè)-o參數(shù)的時(shí)候,-o 只用一次,參數(shù)之間用半角逗號(hào)隔開(kāi):
CODE:
# mount –o remount,rw /
例如要掛載windows下文件系統(tǒng)為FAT32的D盤(pán),一般而言在Linux下這個(gè)分區(qū)對(duì)應(yīng)/dev/hda5,根據(jù)具體的分區(qū)情況會(huì)有不同,這里就以hda5來(lái)舉例說(shuō)明:
CODE:
# mkdir /mnt/hda5 //創(chuàng)建hda5的目錄作為掛載點(diǎn),位置和目錄名可自定義//
# mount -t vfat /dev/hda5 /mnt/hda5
一般而言,Linux會(huì)自動(dòng)探測(cè)分區(qū)的文件系統(tǒng),除非讓你指定時(shí),否則-t vfat 可以省掉。
CODE:
# mount /dev/hda5 /mnt/hda5
這樣就可以進(jìn)入/mnt/hda5目錄去訪(fǎng)問(wèn)分區(qū)中的資源了。
3. 為什么mount上分區(qū)后顯示不了中文文件為問(wèn)號(hào)/亂碼?
顯示問(wèn)號(hào)表明你的系統(tǒng)中沒(méi)有可識(shí)別使用的中文字體,請(qǐng)先安裝中文字體。確保你的系統(tǒng)已經(jīng)可以很好的顯示中文。顯示為亂碼一般是mount默認(rèn)使用的文件系統(tǒng)編碼和文件系統(tǒng)中文件的實(shí)際編碼不一致造成的。要想正常顯示中文文件,mount時(shí)需要用到 -o 參數(shù)里的codepage和iocharset選項(xiàng)。codepage指定文件系統(tǒng)的代碼頁(yè),簡(jiǎn)體中文中文代碼是936;iocharset指定字符集,簡(jiǎn)體中文一般用cp936或gb2312。
CODE:
# mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5
一般來(lái)說(shuō) mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就可以解決問(wèn)題了。
如果這樣做了以后還有問(wèn)題,請(qǐng)嘗試UTF-8編碼:
CODE:
# mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
4. 為什么mount上去以后分區(qū)普通用戶(hù)不可寫(xiě)?
mount時(shí)加上 –o umask=000 即可:
CODE:
# mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
5. 為什么mount上去后的分區(qū)中的文件都變成短文件名了?
這是文件系統(tǒng)掛錯(cuò)的原因,將FAT32掛載成FAT16時(shí)就會(huì)出現(xiàn)這種情況,先umount,然后用 –t vfat 重新掛載即可解決問(wèn)題。
CODE:
# mount –t vat /dev/hda5 /mnt/hda5
6. 為什么不能mount ntfs分區(qū)?
這是內(nèi)核不支持NTFS文件系統(tǒng)的原因,請(qǐng)重新編譯內(nèi)核或者安裝內(nèi)核的NTFS文件系統(tǒng)支持包,以使得內(nèi)核有NTFS文件系統(tǒng)的支持。
7. 如何掛載U盤(pán)和mp3?
如果計(jì)算機(jī)沒(méi)有其它SCSI設(shè)備和usb外設(shè)的情況下,插入的U盤(pán)的設(shè)備路徑是 /dev/sda1,用命令:
CODE:
# mkdir /mnt/u
# mount /dev/sda1 /mnt/u
掛載即可。
8. 可以直接使用iso文件嗎?
可以,就是mount的這一選項(xiàng)使得Linux下有免費(fèi)虛擬光驅(qū)的說(shuō)法,具體用法是:
CODE:
# mkdir /mnt/iso
# mount –o loop linux.iso /mnt/iso
當(dāng)然,掛載以后掛載點(diǎn)/mnt/iso也是只讀的。
9. 我怎么不可以mount iso文件?
一般而言,大多數(shù)的發(fā)行版使用的內(nèi)核均已將loop設(shè)備的支持編譯進(jìn)去了,但是也有沒(méi)有的情況,所以請(qǐng)確保系統(tǒng)所使用的內(nèi)核支持loop設(shè)備。
第二種情況是iso文件被放置到了NTFS或其它只讀文件系統(tǒng)中了。掛載loop 設(shè)備必須要求掛載到一個(gè)可寫(xiě)的分區(qū)中,目前Linux內(nèi)核對(duì)NTFS文件系統(tǒng)的寫(xiě)支持非常有限,請(qǐng)將iso文件復(fù)制到其它可寫(xiě)文件系統(tǒng)中后再掛載。
10. 如何掛載光驅(qū)和軟驅(qū)
一般來(lái)說(shuō)CDROM的設(shè)備文件是/dev/hdc,軟驅(qū)的設(shè)備名是/dev/fd0
CODE:
# mkdir /mnt/cdrom
# mount /dev/hdc /mnt/cdrom //掛載光驅(qū) //
# mkdir /mnt/floppy
# mount /dev/fd0 /mnt/floppy //掛載軟驅(qū) //
11. 為何掛載的CD-ROM不能顯示中文文件?
使用 –o iocharset=cp936 選項(xiàng)一般能解決問(wèn)題,否則使用utf-8編碼。
CODE:
# mount –o iocharset=cp936 /dev/hdc /mnt/cdrom
12. 如何開(kāi)機(jī)自動(dòng)掛載分區(qū)?
每次掛載都要輸入那么長(zhǎng)的命令的確是繁瑣了些,只要將分區(qū)信息寫(xiě)到/etc/fstab文件中即可實(shí)現(xiàn)系統(tǒng)啟動(dòng)的自動(dòng)掛載,例如對(duì)于/dev/hda5的自動(dòng)掛載添加如下的行即可:
CODE:
/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
13. 如何掛載samba 分區(qū)?
CODE:
# mkdir /mnt/share
# mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312//192.168.1.100/share /mnt/share
如果中文顯示不正常請(qǐng)嘗試UTF-8編碼。當(dāng)然可以寫(xiě)到fstab中實(shí)現(xiàn)自動(dòng)掛載。
14. mount --bind是什么意思?
mount --bind 是將一個(gè)目錄中的內(nèi)容掛載到另一個(gè)目錄上,用法是
CODE:
# mount --bind olddir newdir
這個(gè)命令使得自己搭建的FTP要共享某個(gè)目錄的時(shí)候變得特別方便。如果要取消mount用命令:
CODE:
# mount --move olddir newdir 即可。
如果mount --bind 也想寫(xiě)入fstab中的話(huà)格式如下:
CODE:
olddir newdir none bind 0 0
15. umount基本用法是?
譬如 /dev/hda5 已經(jīng)掛載在/mnt/hda5上,用一下三條命令均可卸載掛載的文件系統(tǒng)
CODE:
# umount /dev/hda5
# umount /mnt/hda5
# umount /dev/hda5 /mnt/hda5
16. 為什么umount的時(shí)候老顯示 device busy?
這是因?yàn)橛谐绦蛘谠L(fǎng)問(wèn)這個(gè)設(shè)備,最簡(jiǎn)單的辦法就是讓訪(fǎng)問(wèn)該設(shè)備的程序退出以后再u(mài)mount??赡苡袝r(shí)候用戶(hù)搞不清除究竟是什么程序在訪(fǎng)問(wèn)設(shè)備,如果用戶(hù)不急著umount,則可以用:
CODE:
# umount -l /mnt/hda5
來(lái)卸載設(shè)備。選項(xiàng) –l 并不是馬上umount,而是在該目錄空閑后再u(mài)mount。還可以先用命令 ps aux 來(lái)查看占用設(shè)備的程序PID,然后用命令kill來(lái)殺死占用設(shè)備的進(jìn)程,這樣就umount的非常放心了。
關(guān)鍵詞:linux
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0