mount和unmount

alfredkao 2013-05-08

mount详解

功能:加载指定的文件系统。 
语法:mount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [加载点] 
用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件/etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。 
常用参数和选项: 
-a 加载文件/etc/fstab中设置的所有设备。 
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。 
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。 
-h 显示在线帮助信息。 
-L<标签> 加载文件系统标签为<标签>的设备。 
-n 不将加载信息记录在/etc/mtab文件中。 
-o<选项> 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括: 
async以非同步的方式执行文件系统的输入输出动作。 
atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。 
auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。 
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。 
dev 可读文件系统上的字符或块设备,取消选项为nodev。 
exec 可执行二进制文件,取消选项为noexec。 
noatime 每次存取时不更新inode的存取时间。 
noauto 无法使用-a参数来加载。 
nodev 不读文件系统上的字符或块设备。 
noexec 无法执行二进制文件。 
nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。 
nouser 使一位用户无法执行加载操作,默认设置。 
remount 重新加载设备。通常用于改变设备的设置状态。 
ro 以只读模式加载。 
rw 以可读写模式加载。 
suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。 
sync 以同步方式执行文件系统的输入输出动作。 
user 可以让一般用户加载设备。 

-r 以只读方式加载设备。 
-t<文件系统类型> 指定设备的文件系统类型。常用的选项说明有: 
minix Linux最早使用的文件系统。 
ext2 Linux目前的常用文件系统。 
msdos MS-DOS 的 FAT。 
vfat Win85/98 的 VFAT。 
nfs 网络文件系统。 
iso9660 CD-ROM光盘的标准文件系统。 
ntfs Windows NT的文件系统。 
hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。 
auto 自动检测文件系统。 
-v 执行时显示详细的信息。 
-V 显示版本信息。 
-w 以可读写模式加载设备,默认设置。


简单用法:
fat32的分区
mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom (mount -t vfat -o iocharset=cp936 /dev/hda7 /mnt/cdrom)
ntfs的分区
mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom
iso文件
mount -o loop /abc.iso /mnt/cdrom
软盘
mount /dev/fd0 /mnt/floppy
USB闪存
mount /dev/sda1 /mnt/cdrom

所有/etc/fstab内容 mount -a

可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.

镜像文件:
mount fileName mountPoint -o loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。

显示中文方面,如果是fedora core 1 的话,用utf8更好
mount -o iocharset=uft8 /dev/hda1 /mnt/c
mount -o iocharset=uft8 /dev/sda1 /mnt/usb
mount -t smbfs //ip_addr/share/dir /mnt/smb/share -o iocharset=uft8,username=name, password=passwd


开机就mount上windows下的分区
自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意,先得手工建立一个/mnt/d目录
mount局域网上其他windows机器共享出的目录(bjchenxu)
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

挂接命令(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)。

挂接光盘镜像文件

由于近年来磁盘技术的巨大进步,新的电脑系统都配备了大容量的磁盘系统,在Windows下许多人都习惯把软件和资料做成光盘镜像文件通过虚拟光驱来使用。这样做有许多好处:一、减轻了光驱的磨损;二、现在硬盘容量巨大存放几十个光盘镜像文件不成问题,随用随调十分方便;三、硬盘的读取速度要远远高于光盘的读取速度,CPU占用率大大降低。其实linux下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软件包。

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

 #cp /dev/cdrom /home/sunky/mydisk.iso 或

 #dd if=/dev/cdrom of=/home/sunky/mydisk.iso

 注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso

2、将文件和目录制作成光盘镜像文件,执行下面的命令。

 #mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

 注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

umount命令

功能说明:卸除文件系统。

语  法:umount [-ahnrvV][-t <文件系统类型>][文件系统]

补充说明:umount可卸除目前挂在Linux目录中的文件系统。

参  数:
  -a   卸除/etc/mtab中记录的所有文件系统。
  -h   显示帮助。
  -n   卸除时不要将信息存入/etc/mtab文件中。
  -r   若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
  -t<文件系统类型>   仅卸除选项中所指定的文件系统。
  -v   执行时显示详细的信息。
  -V   显示版本信息。
  [文件系统]   除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统。

使用umount命令可以卸载文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:

 1.# umount -v /dev/sda1          通过设备名卸载 

2./dev/sda1 umounted 

3.# umount -v /mnt/mymount/      通过挂载点卸载 

4./tmp/diskboot.img umounted 
 

如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录:

 
  1. # umount -v /mnt/mymount/  
  2. umount: /mnt/mymount: device is busy  
  3. umount: /mnt/mymount: device is busy 

有时,导致设备忙的原因并不好找。碰到这种情况时,可以用lsof列出已打开文件,然后搜索列表查找待卸载的挂载点:

 
  1. # lsof | grep mymount         查找mymount分区里打开的文件  
  2. bash   9341  francois  cwd   DIR   8,1   1024    2 /mnt/mymount 

从上面的输出可知,mymount分区无法卸载的原因在于,francois运行的PID为9341的bash进程。

对付系统文件正忙的另一种方法是执行延迟卸载:

 # umount -vl /mnt/mymount/     执行延迟卸载 

延迟卸载(lazy unmount)会立即卸载目录树里的文件系统,等到设备不再繁忙时才清理所有相关资源。卸载可移动存储介质还可以用eject命令。下面这条命令会卸载CD并弹出CD:

 # eject /dev/cdrom      卸载并弹出CD 

转自:http://www.linuxso.com/command/mount.html

http://www.linuxso.com/command/umount.html

相关推荐