A. linux mount的用法
在Linux下訪問Windows分區
在Linux中,如果你要使用儲存設備 (Mo、硬碟、光碟機等) ,就得先將它掛上 (Mount),而當儲存設備掛上了之後,就可以把它當成一個目錄來進行訪問。
掛上一個設備使用mount命令。
在使用mount這個指令時,至少要先知道下列三種信息:
1. 要Mount對象的文件系統類型? (File system type)
2. 要Mount對象的設備名稱? (/dev/????)
3. 要將設備Mount到哪個目錄去?
一、獲得系統支持的文件系統類型
就第一點來說,用戶可以執行
cat /proc/filesystems
來獲得機器上支持的文件系統類型。如果系統並不支持你要掛接設備的文件系統類型,那你可能需要重新編譯內核以使其增加對該種文件類型支持。關於如何編譯
內核請參照LinuxAid在線培訓欄目中的相關文章。
常用的文件系統有:
Win95/98常用的FAT 32文件系統 :vfat
Win NT用的文件系統 :ntfs
OS2用的文件系統 :hpfs
Linux用的文件系統 :ext2
Linux用的新文件系統 :ext3
光碟片用的文件系統 :iso9660
其中雖然vfat是指FAT 32系統,但事實上它也兼容FAT 16的文件系統類型。
二、確定設備的名稱
在Linux中,設備名稱通常都在/dev里。這些設備名稱的命名都是有規則的,我們可以用 "推理 "的方式把設備名稱找出來。
譬如說/dev/hda1這個IDE設備。hd是Hard Disk(硬碟)的意思,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a則是代表第一個設備,
通常IDE介面可以接上四個IDE設備(例如四塊硬碟)。所以要識別IDE硬碟的方法分別就
是:hda、hdb、hdc、hdd。此外,hda1中的 "1 "代表hda的第一個硬碟分區
(partition),hda2代表hda的第二個分割區,依此類推。
此外,你可以直接檢查/var/log/messages這個文件,在該文件中可以找到計算機開機後,系統已辨認出來的設備代號。
三、查找掛接點
最後我們要決定將設備掛接到哪裡,先查看一下你的計算機是不是有個/mnt的空目錄?該目錄就是專門用來當作掛載點(Mount Point)的目錄。建議您在
/mnt里多建這幾個目錄:/mnt/cdrom、/mnt/floppy、/mnt/mo等來當作目錄的專用掛載點。
舉例而言,如要掛載下列五個設備的話,其執行指令可能是 (假設都是Linux
的ext2系統,如果是Win XX的話,請將ext2改成vfat):
1. 軟盤 ===> mount -t ext2 /dev/fd0 /mnt/floppy
2. MO ===> mount -t ext2 /dev/sda /mnt/mo
3. cdrom ===> mount -t ext2 /dev/hdc /mnt/cdrom
4. SCSI cdrom ===> mount -t iso9660 /dev/sdb /mnt/scdrom
5. SCSI cdr ===> mount -t iso9660 /dev/sdc /mnt/scdr
這是假設,如果你的設備的名稱跟這個不同的話請自行修改。
最後需要注意的是:
1. 執行mount動作時先打一下pwd看看現在的目錄是不是在掛載點,如果現在目錄在掛載點的話,mount (或umount)不會成功 (會顯示device busy)。
2. 想卸載某設備的語法是umount 目錄名,例如umount /mnt/cdrom等。
在閱讀本文之前,我假設你已經對Linux系統下的硬碟、光碟的設備命令規則有所了解,比如sda和sda1的關系,以及hda、sda、fd、cdrom等設備。
===
1 我把U盤插到USB口上了,下一步我該如何做才能查看U盤里的內容?
我不能確定你的Linux系統會不會自動載入。所以,你應該先去/media目錄下查看一下,看看是不是已經自動載入上了。如果是的話,應該在/media里有一個目錄,
名字類似於disk,你進入目錄就等於進入你的U盤了。
如果/media沒有你想要的東西,那就要自己mount了!
$mkdir /mnt/usb
$mount -t vfat /dev/sda /mnt/usb
這樣就可以了,你去/mnt/usb目錄看看,應該有你想要的了。如果mount命令不管用,那麼你可以將/dev/sda改成/dev/sdb或者/dev/sdc試試!
-t選項用於設定文件系統類型,我假設你的U盤是fat32的。(因為大部分U盤都是這樣的)如果是其他文件系統,你可以man mount來查看一下,方法類似。
2 我把光碟放到光碟機里了,下一步咋辦?
如果系統沒有自動載入光碟機的話,那麼用下面命令一般有效:
$mkdir /mnt/cdrom
$mount -t iso9660 /dev/cdrom /mnt/cdrom
3 我下載了一個pes6.iso文件,我怎麼載入iso文件呢?
$mount -o loop pes6.iso /mnt/cdrom
使用-o選項和loop參數即可!
4 我下載了10個iso文件,從fifa2000.iso到fifa2009.iso,但是當我mount到fifa2007.iso時,就提示不讓我mount了!怎麼解決?
這個涉及到mount -o loop的原理了。你查看一下/dev下的以loop開頭的文件,你就會發現:
[rocrocket@wupengchong dev]$ ls /dev/loop*
/dev/loop0 /dev/loop2 /dev/loop4 /dev/loop6
/dev/loop1 /dev/loop3 /dev/loop5 /dev/loop7
這下知道了吧,原來在/dev里只預設了8個載入iso的地方。
解決辦法是這樣的:
可以先用modinfo命令查看loop信息:
[root@wupengchong ~]# modinfo loop
filename: /lib/moles/2.6.26.5-45.fc9.i686/kernel/drivers/block/loop.ko
alias: block-major-7-*
license: GPL
srcversion: 7595F5D46DFDB4A2D489DDD
depends:
vermagic: 2.6.26.5-45.fc9.i686 SMP mod_unload 686 4KSTACKS
parm: max_loop:Maximum number of loop devices (int)
parm: max_part:Maximum number of partitions per loop device (int)
可以看出max_loop來限制最大loop的數目。而max_part用來設定每個loop的設備所能支持的分區數目。
你還可以看到控制loop的是一個內核模塊:/lib/moles/2.6.26.5-45.fc9.i686/kernel/drivers/block/loop.ko。
我們的目標就是修改max_loop值。
$echo 「options loop max_loop=20〃>>/etc/modprobe.conf
然後就是要重新載入內核模塊,這樣來做:
[root@wupengchong ~]# modprobe -l|grep loop.ko
/lib/moles/2.6.26.5-45.fc9.i686/kernel/drivers/block/cryptoloop.ko
/lib/moles/2.6.26.5-45.fc9.i686/kernel/drivers/block/loop.ko
[root@wupengchong ~]# modprobe -r loop
[root@wupengchong ~]# modprobe loop
注意modprobe命令的選項-r表示remove,即刪除某個模塊。
好了,就此我們重新載入了loop模塊,你現在再用ls /dev/loop*看看,是不是已經有20個loop設備了。
5 我知道/etc/fstab文件里的內容是開機時載入的所有設備,那麼mount能利用這個文件么?
可以利用,你直接執行mount -a就可以了,mount會乖乖的按照/etc/fstab文件的內容來載入所有的設備。
6 我這里有不同的文件系統,我用mount載入時需要注意什麼?
需要在mount時加-t來設定文件系統類別:
如果是fat的,就要-t vfat;
如果是linux的ext系統的,就要-t ext或-t ext2或-t ext3,未來會有-t ext4;
如果是光碟機,那就是-t iso9660;
如果文件系統是ntfs,那麼你可能需要了解一下ntfs-3g這個軟體了。
7 我有一個老的三寸軟盤,如果mount?
$mount -t vfat /dev/fd0 /mnt/floppy
8 mount除了載入設備,還可以做什麼?
mount可以用來裝載支持acl的分區。具體可查詢mount和acl。
mount可以用來設定ftp登錄目錄,用–bind參數可以實現。
mount可以設定和修改已載入的文件系統的屬性,具體可查看mount的-o參數。
B. linux 系統下的mount和umount命令
>mount /what /where
其中what是設備的名稱例如u盤,光碟等,where是掛載點,通常是/mnt.
例如掛載cd或者dvd執行下面的命令
>mount /dev/cdrom /media/
卸載的時候可以
>umount /media或者>umount /dev/cdrom都可以卸載cd
詳細參見man page
C. 將光碟CD-ROM(hdc)安裝到文件系統的 /mnt/cdrom 目錄下的命令是哪一個
選擇的是答案B,將光碟CD-ROM(hdc)安裝到文件系統的 /mnt/cdrom 目錄下的命令為:mount /dev/hdc /mnt/cdrom。
mount命令的格式為:mount 設備名 掛載的位置。
Linux mount命令是經常會使用到的命令,它用於掛載Linux系統外的文件。
(3)mount命令作用擴展閱讀:
掛載點的要求:
掛載點必須是已存在的目錄,建議使用空目錄,而要掛載的設備上必須有文件系統。設備主要有如下幾種類型:硬碟分區、光碟、可移動設備,如U盤、目錄、文件。
mount命令的常用的參數:
1、允許執行檔在root許可權下執行。
2、-o user、-o nouser,使用者可以執行mount/umount的動作。
3、-o remount,將一個已經掛下的檔案系統重新用不同的方式掛上。例如原先是唯讀的系統,現在用可讀寫的模式重新掛上。
4、-o ro,用唯讀模式掛上。
5、-o rw,用可讀寫模式掛上。
6、-o loop=,使用loop模式用來將一個檔案當成硬碟分割掛上系統。
7、-F,這個命令通常和-a一起使用,它會為每一個mount的動作產生一個行程負責執行。在系統需要掛上大量NFS檔案系統時可以加快掛上的動作。
8、-f,通常用在除錯的用途。它會使mount並不執行實際掛上的動作,而是模擬整個掛上的過程。通常會和-v 一起使用
D. 關於linux中mount的命令
在linux系統中,可以使用mount命令掛載光碟鏡像文件、移動硬碟、U盤以及Windows網路共享和UNIX
NFS網路共享等。
命令格式:
mount
[-t
vfstype]
[-o
options]
device
dir
參數說明:
①-t
vfstype
指定文件系統的類型,通常不必指定。mount
會自動選擇正確的類型。常用類型有:
光碟或光碟鏡像:iso9660
DOS
fat16文件系統:msdos
Windows
9x
fat32文件系統:vfat
Windows
NT
ntfs文件系統:ntfs
Mount
Windows文件網路共享:smbfs
UNIX(LINUX)
文件網路共享:nfs
②-o
options
主要用來描述設備或檔案的掛接方式。常用的參數有:
loop:用來把一個文件當成硬碟分區掛接上系統
ro:採用只讀方式掛接設備
rw:採用讀寫方式掛接設備
iocharset:指定訪問文件系統所用字元集
③device
要掛接(mount)的設備
④dir設備在系統上的掛接點(mount
point)
案例分析:
光碟鏡像文件的掛接(mount)
mkdir /mnt/vcdrom
#建立一個目錄用來作掛接點(mount point)
mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
#使用/mnt/vcdrom就可以訪問盤鏡像文件mydisk.iso里的所有文件
E. Linux裡面文件掛載點是什麼
1.提一句Windows下,mount掛載,就是給磁碟分區提供一個盤符(C,D,E,...)。比如插入U盤後系統自動分配給了它I:盤符其實就是掛載,退優盤的時候進行安全彈出,其實就是卸載unmount。
2.Linux下,不像Windows可以有C,D,E,多個目錄,Linux只有一個根目錄/。在裝系統時,我們分配給linux的所有區都在/下的某個位置,比如/home等等。
3.提問者插入了新硬碟,分了新磁碟區sdb1。它現在還不屬於/。
4.我們雖然可以在一些圖形桌面系統里找到他的位置,瀏覽管理裡面的文件,但在命令行卻不知怎麼訪問它的目錄,比如無法使用cd或者ls。也無法在編程時指定一個目錄對它操作。
5.這時提問者使用了 mount /dev/sdb1 ~/Share/ ,把新硬碟的區sdb1掛載到工作目錄的~/Share/文件夾下,之後訪問這個~/Share/文件夾就相當於訪問這個硬碟2的sdb1分區了。對/Share/的任何操作,都相當於對sdb1里文件的操作。
6.所以Linux下,mount掛載的作用,就是將一個設備(通常是存儲設備)掛接到一個已存在的目錄上。訪問這個目錄就是訪問該存儲設備。
7.linux操作系統將所有的設備都看作文件,它將整個計算機的資源都整合成一個大的文件目錄。我們要訪問存儲設備中的文件,必須將文件所在的分區掛載到一個已存在的目錄上,然後通過訪問這個目錄來訪問存儲設備。掛載就是把設備放在一個目錄下,讓系統知道怎麼管理這個設備里的文件,了解這個存儲設備的可讀寫特性之類的過程。
8.我們不是有/dev/sdb1 嗎,直接對它操作不就行了?這不是它的目錄嗎?
9.這不是它的目錄。雖然/dev是個目錄,但/dev/sdb1不是目錄。可以發現ls/dev/sdb1無法執行。/dev/sdb1,是一個類似指針的東西,指向這個分區的原始數據塊。mount前,系統並不知道這個數據塊哪部分數據代表文件,如何對它們操作。
10.插入CD,系統其實自動執行了 mount /dev/cdrom /media/cdrom。所以可以直接在/media/cdrom中對CD中的內容進行管理。
F. mount命令是什麼意思在Linux中
mount是掛載命令,在linux系統中所有新硬碟或者光碟,或者ISO文件並不能直接被系統檢測並掛載(現在部分系統使用桌面化,有自動掛載這個功能)
mount指令一般用法如下:
mount -t 文件類型 /dev/... dir
/dev/..是掛載的硬碟或光碟;
dir是掛載目錄
PS:文件類型
光碟或光碟鏡像:iso9660
DOS fat16文件系統:msdos
Windows 9x fat32文件系統:vfat
Windows NT ntfs文件系統:ntfs
Mount Windows文件網路共享:smbfs
UNIX(LINUX) 文件網路共享:nfs
G. linux mount 掛載命令 詳解
掛接命令(mount)
首先,介紹一下掛接(mount)命令的使用方法,mount命令參數非常多,這里主要講一下今天我們要用到的。
命令格式:mount [-t vfstype] [-o options] device dir
1、-t vfstype 指定文件系統的類型,通常不必指定,mount 會自動選擇正確的類型。
光碟或光碟鏡像:iso9660
DOS fat16文件系統:msdos
Windows 9x fat32文件系統:vfat
Windows NT ntfs文件系統:ntfs
Mount Windows文件網路共享:smbfs
UNIX(LINUX) 文件網路共享:nfs
2、-o options 主要用來描述設備或檔案的掛接方式。
loop:用來把一個文件當成硬碟分區掛接上系統
ro:採用只讀方式掛接設備
rw:採用讀寫方式掛接設備
iocharset:指定訪問文件系統所用字元集
3、device 要掛接(mount)的設備。
4、dir設備在系統上的掛接點(mount point)。 詳情可參考《Linux就該這么學》。