linux下mount命令挂载设备(u盘、光盘与iso文件)

发布时间:2020-08-14编辑:脚本学堂
本文介绍了linux下设备挂载命令mount的用法,学习linux的朋友,都会接触到mount命令,如何使用这个命令挂载文件系统、分区或移动设备呢?今天我们一起探讨下。

linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备。
例如:
 

复制代码 代码示例:
[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格式。

Linux下挂载光驱或者iso镜像文件

直接在Linux下挂载iso镜像文件
首先建立一个目录作为挂载点:
 

复制代码 代码示例:
# mkdir /mnt/iso

获得root权限然后使用下面的参数挂载ISO映像文件:
 

复制代码 代码示例:
# mount -t iso9660 /path/image.iso /mnt/iso/ -o loop

挂载光驱
 

复制代码 代码示例:

# dmesg | grep hd
    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:pio, hdd:pio
hda: PIONEER DVD-RW DVR-112, ATAPI CD/DVD-ROM drive
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
hda: ATAPI 40X DVD-ROM DVD-R-RAM CD-R/RW drive, 2000kB Cache, UDMA(66)

#mkdir /mnt/cdrom
 

获得root权限然后使用下面的参数挂载光驱到/mnt/cdrom:
 

复制代码 代码示例:
#mount -t iso9660 /dev/hda  /mnt/cdrom

就是这些了,linux下mount命令经常会用到,建议大家牢固掌握。