對於新手學習,mount 命令,一定會有很多疑問。其實我想疑問來源更多的是對linux系統本身特殊性瞭解問題。 linux是基於檔案系統,所有的裝置都會對應於:/dev/下面的裝置。如:
1 2 3 4 5 6 7 |
[chengmo@centos5 dev]$ ls | grep -E "^(sd|hd)" hdc sda sda1 sda2 sdb sdb1 |
sd*代表scic硬碟
因此,需要進行裝置訪問時候,我們需要進行系統掛載(mount). 那麼mount到底能夠掛載那些裝置呢。 我們可以看一下。
一、mount可以用來掛載什麼:
不同的作業系統使用不同的檔案系統格式。MS-DOS支援FAT16檔案系統,Windows98支援FAT16、FAT32檔案系統,WindowsNT支援FAT16、NTFS檔案系統,Windows2000則支援FAT16、FAT32、NTFS三種檔案系統格式,現在的xp可以支援FAT32,NTFS,現在最新版本的windows 7 引入了新的WinFS檔案系統。 而 Linux差不多支援所有的檔案系統格式,但一般使用ext2或ext3檔案系統。很多使用者使用的是windows作業系統,如果想在執行的Linux下訪問其它檔案系統中的資源的話,就要用Linux mount命令來實現。
二、mount使用格式:
mount命令[-引數] [裝置名稱] [掛載點]
說明:
[掛載點]必須是一個已經存在的目錄,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用,umount以後會恢復正常。
[裝置名稱] 可以是一個分割槽,一個usb裝置,光碟機,軟盤,網路共享等。
常見引數說明:
Mount 掛載檔案系統使用幫助引數說明常見引數:-t vfstype
掛載指定的裝置型別:adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, xiafs
一般檔案型別,可以不需要指定就可以有相同自動檢測(adfs, bfs, cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs, qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等檔案系統),如果探測失敗,就將訪問/etc/filesystems ,以指定檔案系統探測。說明:如果清楚檔案系統,最好指定具體型別。探測錯誤將帶來災難性的。
多個檔案系統可以用“,”分割開來
mount -a -t nomsdos,ext
將掛載fstab檔案指定所有的檔案系統,除了型別為 msdos 和 ext 的那一些。
常見檔案型別
- ext2 linux目前常用的檔案系統
- msdos MS-DOS的fat,就是fat16 vfat
- windows98常用的fat32
- nfs 網路檔案系統
- smbfs windows共享系統
- iso9660 CD-ROM光碟標準檔案系統
- ntfs windows NT/2000/XP的檔案系統
- auto 自動檢測檔案系統
-o options指定掛載系統選項:多個選項可以用”,”分割.某些選項只有在出現在檔案 /etc/fstab 中時才有意義。下列選項可以用於任何要掛載的檔案系統(但是並非所有檔案系統都關心它們,例如,選項 sync 在今天只對 ext2,ext3 和 ufs 有效)
選項 | 說明 |
async | 所有對檔案系統的 I/O 操作都必須是非同步完成的。 |
atime | 每次存取時更新 inode 存取時間。這是預設選項。 |
auto | 可以在使用 -a 選項時被掛載。 |
defaults | 包含以下選項:rw, suid, dev, exec, auto, nouser,async. |
dev | 解析檔案系統中的字元裝置或塊裝置。 |
exec | 允許執行二進位制檔案 |
_netdev | 檔案系統居於需要網路連線的裝置上,避免斷網下,不斷掛載耗資源 |
noatime | 不更新檔案系統的inode存取時間(提升新聞伺服器的速度) |
noauto | 只能被顯式地掛載,-a不能使它掛載 |
nodev | 不解析檔案系統中的字元裝置或塊裝置 |
noexec | 不允許執行被載入的檔案系統中的任何二進位制檔案 |
nosuid | 不允許set-user-identifier 或set-group-identifier位起作用 |
nouser | 禁止普通的掛載檔案系統(預設) |
remount | 試圖重新掛載一個已經掛載的檔案系統。通常用來改變掛載標記,如由只讀掛載改成可讀寫的。 |
ro | 以只讀方式掛載 |
rw | 以讀寫方式掛載 |
suid | 允許set-user-identifier 或set-group-identifier位起作用 |
sync | 以同步方式進行I/O操作,突然斷電不會掉資料,但加重磁碟負擔 |
dirsync | 所有對檔案系統內目錄的更新應當是同步完成的,影響下列系統呼叫:creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 rename |
user | 允許普通的使用者掛載檔案系統,掛載者的使用者名稱被寫入mtab,從而使他可以再次解除安裝檔案系統。這個選項暗含了選項noexec,nosuid, 以及 nodev. |
users | 允許每個使用者掛載解除安裝檔案系統 |
codepage | codepage=XXX內碼表 |
iocharset | iocharset=XXX 字符集 |
loop | 掛載迴旋裝置 經常掛載iso檔案用到 |
username | username=user 訪問裝置的使用者名稱 |
password | password=pass 訪問裝置的密碼 |
以下引數只對特殊檔案系統有用: | |
uid/gid | uid=value 和 gid=value 以特殊使用者及組 掛載系統 |
ownmask | ownmask=value owner許可權的許可權掩碼 |
othmask | othmask=value othmask許可權的許可權掩碼 |
不同檔案系統所支援的屬性不一定系統。可以查詢相關資料 |
-a | 搜尋/etc/fstab檔案中滿足條件的檔案系統,進行掛載操作。 格式: mount -a -t type -o options 不需要指定裝置/目錄 |
-f | 測試mount系統,只檢查裝置和目錄,並不真正掛載檔案系統 |
-n | 不把掛載的記錄,記錄在/etc/mtab 檔案中 |
-r | 將檔案系統安裝為只讀,同(-o ro) |
-w | 將檔案系統安裝為可讀寫,同(-o rw) |
-L label | 掛載具有指定卷標 label 的分割槽 |
-w | 將檔案系統安裝為可讀寫,同(-o rw) |
-v | 顯示詳細的掛載進度 |
-l | 列出所有已經掛載的檔案系統列表 |
其它引數: | |
–bind | 將檔案層次的一部分重新掛載到其他地方.只掛接單一的檔案系統,如果目錄有其它檔案系統,將不能掛載。如果需要都掛載,可以用:–rbind 引數。 mount –bind olddir newdir 2個目錄可以訪問系統內容 |
–move | 將一個目錄移到另外地方,mount –move olddir newdir |
-h | 顯示幫助 |
-V | 顯示版本 |
三、常見分割槽載入方法:
- mount掛載iso檔案:
#mkdir /mnt/iso1
#mount –o loop linuxsetup.iso /mnt/iso1
在linux 不需要虛擬光碟機,就可以直接讀取iso檔案了。
- mount掛載光碟機系統
一般來說CDROM的裝置檔案是/dev/hdc,使用方法:
#mkdir /mnt/cdrom
#mount /dev/hdc /mnt/cdrom –o iocharset=cp936
預設不指定光碟機系統,可以自動搜尋得到,將編碼指定為中文
- mount掛載軟碟機
# mkdir /mnt/floppy
# mount /dev/fd0 /mnt/floppy
預設不指定檔案系統,可以自動搜尋得到
- mount掛載windows共享檔案(samba)
#mkdir /mnt/winshare
#mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare
指定訪問共享的使用者名稱,密碼,codepage指定編碼與iocharset同意義。這裡的windows 系統是中文簡體。
codepage指定檔案系統的內碼表,簡體中文中文程式碼是936;iocharset指定字符集,簡體中文一般用cp936或gb2312
- mount掛載u盤
如果計算機沒有其它SCSI裝置和usb外設的情況下,插入的U盤的裝置路徑是 /dev/sda1,用命令:
#mkdir /mnt/upan
#mount /dev/sda1 /mnt/upan
掛載即可。
- mount掛載nfs系統
與windows共享連線差不多。需要正確配置服務端的nfs服務。然後通過客戶端的:showmount -e 192.168.0.30 可以檢視連線。
mount -t nfs 192.168.0.30:/tmp /mnt/nfs
- umount解除安裝檔案系統
umount dir
如上面: umout /mnt/upan或者umount /dev/sda1
以上是mount命令使用介紹。其中-o引數最為複雜。 每個不同檔案系統所支援引數可能各不相同。如果遇到特殊檔案系統。建議查閱相關資料。下一節將說下,與mount 相關的檔案:fstab格式。