1. 用Linux mount/umount能作什麼?
不一樣的操做系統使用不一樣的文件系統格式。MS-DOS支持FAT16文件系統,Windows98支持FAT1六、FAT32文件系 統,WindowsNT支持FAT1六、NTFS文件系統,Windows2000則支持FAT1六、FAT3二、NTFS三種文件系統格式,而 Linux差很少支持全部的文件系統格式,但通常使用ext2或ext3文件系統。 不少用戶使用的是windows操做系統,若是想在運行的Linux下訪問其它文件系統中的資源的話,就要用Linux mount命令來實現。
2. Linux mount命令的基本用法是?
格式:Linux mount命令[-參數] [設備名稱] [掛載點] 其中經常使用的參數有:
-a 安裝在/etc/fstab文件中類出的全部文件系統。
-f 假裝mount,做出檢查設備和目錄的樣子,但並不真正掛載文件系統。
-n 不把安裝記錄在/etc/mtab 文件中。
-r 講文件系統安裝爲只讀。
-v 詳細顯示安裝信息。
-w 將文件系統安裝爲可寫,爲命令默認狀況。
-t <文件系統類型> 指定設備的文件系統類型,常見的有:
ext2 linux目前經常使用的文件系統
msdos MS-DOS的fat,就是fat16
vfat windows98經常使用的fat32
nfs 網絡文件系統
iso9660 CD-ROM光盤標準文件系統
ntfs windows NT/2000/XP的文件系統
auto 自動檢測文件系統
-o <選項> 指定掛載文件系統時的選項,有些也可寫到在/etc/fstab中。經常使用的有:
defaults 使用全部選項的默認值(auto、nouser、rw、suid)
auto/noauto 容許/不容許以 –a選項進行安裝
dev/nodev 對/不對文件系統上的特殊設備進行解釋
exec/noexec 容許/不容許執行二進制代碼
suid/nosuid 確認/不確認suid和sgid位
user /nouser 容許/不容許通常用戶掛載
codepage=XXX 代碼頁
iocharset=XXX 字符集
ro 以只讀方式掛載
rw 以讀寫方式掛載
remount 從新安裝已經安裝了的文件系統
loop 掛載迴旋設備
username/password用來設置有訪問權限的用戶名和密碼
須要注意的是,掛載點必須是一個已經存在的目錄,這個目錄能夠不爲空,但掛載後這個目錄下之前的內容將不可用,umount之後會恢復正常。使用多個-o參數的時候,-o 只用一次,參數之間用半角逗號隔開:
# mount –o remount,rw XXX XXX
例如要掛載windows下文件系統爲FAT32的D盤,通常而言在Linux下這個分區對應/dev/hda5,根據具體的分區狀況會有不一樣,這裏就以hda5來舉例說明:
# mkdir /mnt/hda5 //建立hda5的目錄做爲掛載點,位置和目錄名可自定義//
# mount -t vfat /dev/hda5 /mnt/hda5
通常而言,Linux會自動探測分區的文件系統,除非讓你指定時,不然-t vfat 能夠省掉。
# mount /dev/hda5 /mnt/hda5
這樣就能夠進入/mnt/hda5目錄去訪問分區中的資源了。
3. 爲何Linux mount命令上分區後顯示不了中文文件爲問號/亂碼?
顯示問號代表你的系統中沒有可識別使用的中文字體,請先安裝中文字體。確保你的系統已經能夠很好的顯示中文。顯示爲亂碼通常是Linux mount命令默認使用的文件系 統編碼和文件系統中文件的實際編碼不一致形成的。要想正常顯示中文文件,Linux mount命令t時須要用到 -o 參數裏的codepage和iocharset選項。codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字符集, 簡體中文通常用cp936或gb2312。
# Linux mount命令 –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5通常來講 mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就能夠解決問題了。若是這樣作了之後還有問題,請嘗試UTF-8編碼:# mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
4. 爲何Linux mount命令上去之後分區普通用戶不可寫?
Linux mount命令時加上 –o umask=000 便可:# mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
5. 爲何Linux mount命令上去後的分區中的文件都變成短文件名了?
這是文件系統掛錯的緣由,將FAT32掛載成FAT16時就會出現這種狀況,先umount,而後用 –t vfat 從新掛載便可解決問題。# mount –t vat /dev/hda5 /mnt/hda5
6. 爲何不能mount ntfs分區?
這是內核不支持NTFS文件系統的緣由,請從新編譯內核或者安裝內核的NTFS文件系統支持包,以使得內核有NTFS文件系統的支持。
7. 如何掛載U盤和mp3?
若是計算機沒有其它SCSI設備和usb外設的狀況下,插入的U盤的設備路徑是 /dev/sda1,用命令:# mkdir /mnt/u# mount /dev/sda1 /mnt/u掛載便可。
8. 能夠直接使用iso文件嗎?
能夠,就是Linux mount命令的這一選項使得Linux下有免費虛擬光驅的說法,具體用法是:# mkdir /mnt/iso # mount –o loop linux.iso /mnt/iso固然,掛載之後掛載點/mnt/iso也是隻讀的。
9. 我怎麼不能夠mount iso文件?
通常而言,大多數的發行版使用的內核均已將loop設備的支持編譯進去了,可是也有沒有的狀況,因此請確保系統所使用的內核支持loop設備。
第二種狀況是iso文件被放置到了NTFS或其它只讀文件系統中了。掛載loop 設備必需要求掛載到一個可寫的分區中,目前Linux內核對NTFS文件系統的寫支持很是有限,請將iso文件複製到其它可寫文件系統中後再掛載。
10. Linux mount命令如何掛載光驅和軟驅
通常來講CDROM的設備文件是/dev/hdc,軟驅的設備名是/dev/fd0# mkdir /mnt/cdrom # mount /dev/hdc /mnt/cdrom //掛載光驅 //# mkdir /mnt/floppy # mount /dev/fd0 /mnt/floppy //掛載軟驅 //
11. 爲什麼掛載的CD-ROM不能顯示中文文件?
使用 –o iocharset=cp936 選項通常能解決問題,不然使用utf-8編碼。# mount –o iocharset=cp936 /dev/hdc /mnt/cdrom
12. 如何開機自動掛載分區?
每次掛載都要輸入那麼長的命令的確是繁瑣了些,只要將分區信息寫到/etc/fstab文件中便可實現系統啓動的自動掛載,例如對於/dev/hda5的自動掛載添加以下的行便可:/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
13. 如何掛載samba 分區?
# mkdir /mnt/share# mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share /mnt/share若是中文顯示不正常請嘗試UTF-8編碼。固然能夠寫到fstab中實現自動掛載。
14. mount --bind是什麼意思?
mount --bind 是將一個目錄中的內容掛載到另外一個目錄上,用法是# mount --bind olddir newdir這個命令使得本身搭建的FTP要共享某個目錄的時候變得特別方便。若是要取消mount用命令:# mount --move olddir newdir 便可。若是mount --bind 也想寫入fstab中的話格式以下:olddir newdir none bind 0 0
15. umount基本用法是?
譬如 /dev/hda5 已經掛載在/mnt/hda5上,用一下三條命令都可卸載掛載的文件系統
# umount /dev/hda5
# umount /mnt/hda5
# umount /dev/hda5 /mnt/hda5
16. 爲何umount的時候老顯示 device busy?
這是由於有程序正在訪問這個設備,最簡單的辦法就是讓訪問該設備的程序退出之後再umount。可能有時候用戶搞不清除到底是什麼程序在訪問設備,若是用戶不急着umount,則能夠用:# umount -l /mnt/hda5來卸載設備。選項 –l 並非立刻umount,而是在該目錄空閒後再umount。還能夠先用命令 ps aux 來查看佔用設備的程序PID,而後用命令kill來殺死佔用設備的進程,這樣就能夠放心的mount.node