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就该这么学》。