mount命令完全使用手册
转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese
工欲善其事,必先利其器。mount是UNIX/Linux系统管理员不可不会的命令。在Linux,UNIX和类似操作系统上,不同分区和可移动设备上的文件系统(例如CD, DVD, 或USB闪存驱动)可通过目录树的挂载点连接,之后再卸载。mount和umount命令相应用来挂载和卸载文件系统。本文以Red Hat版本为例,先从基本用法和注意事项讲起,随后介绍命令的一些高级用法。熟练使用mount命令,让你轻松一点,胜人一筹。
列出当前已挂载文件系统:
要列出当前已挂载的文件系统,运行不加参数的mount命令:
mount
该命令列出已知挂载点。每一行按照以下格式输出关于设备名,文件系统类型,挂载目录,以及相关的挂载选项等重要信息:
device on directory type type (options)
从Red Hat Enterprise Linux 6.1版本开始,使用findmnt工具用户可以用树状形式列出已挂载文件系统。如需列出所有当前已挂载文件系统,运行不加参数的findmnt命令:
findmnt
指定文件系统类型:
默认情况下,mount命令输出各种虚拟文件系统,如sysfs和tmpfs。要显示具有特定文件系统类型的设备,命令中加入-t选项:
mount –t type
类似地,使用findmnt命令加type只显示某种特定类型文件系统的设备:
findmnt –t type
举例1:列出当前已挂载的ext4文件系统
通常情况下,/分区和/boot分区都格式化成ext4。只显示使用此文件系统的挂载点,在shell提示输入以下命令:
~]$ mount -t ext4
/dev/sda2 on / type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
使用findmnt命令列出挂载点:
~]$ findmnt -t ext4
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2 ext4 rw,realtime,seclabel,barrier=1,data=ordered
/boot /dev/sda1 ext4 rw,realtime,seclabel,barrier=1,data=ordered
挂载文件系统:
挂载指定文件系统,使用以下形式的mount命令:
mount[option…] device directory
device可以由块设备的路径来指定,(例如,“/dev/sda3”),通用唯一标示符(UUID;例如,“UUID=34795a28-ca6d-4fd8-a347-73671d0c19cb”),或卷标识(例如,“LABEL=home”)。注意,当文件系统被挂载,directory原来的内容将无法访问。
重要提示:确保该目录不在使用中
Linux并不阻止用户将文件系统挂载到已附有文件系统的目录下。要确定某一目录是否用作挂载点,运行带有directory参数的findmnt命令,并验证输出码:
findmnt directory ; echo $?
如果该目录没有挂载文件系统,上述命令返回1。
当运行mount命令而不带有全部所需信息(即,没有设备名,目标目录,或文件系统类型),则命令读取 /etc/fstab配置文件,以确认给定的文件系统是否已登记。此文件包含设备名和给定文件系统应当挂载的目录,以及文件系统类型和挂载选项。因此,当挂载此文件中指定的文件系统,可以使用以下命令之一:
mount [option…] directory
mount [option…] device
使用此命令挂载文件系统需root权限。
注:确定一个特定设备的UUID和标签
要确定某一设备的UUID和标签(如果使用的话),按照以下形式使用blkid命令:
blkid device
举例2:显示/dev/sda3的信息,输入:
~]# blkid /dev/sda3
/dev/sda3: LABEL="home" UUID="34795a28-ca6d-4fd8-a347-73671d0c19cb" TYPE="ext3"
指定文件系统类型:
在大多数情况下,mount自动检测文件系统。不过,也有些文件系统,如NFS或CIFS无法识别,需手动指定。指定文件系统类型,按照以下形式使用mount命令:
mount -t type device directory
以下表格列出了mount命令能够使用的常见文件系统。
Type |
Description |
ext2 |
ext2文件系统。 |
ext3 |
ext3文件系统。 |
ext4 |
ext4文件系统。 |
iso9660 |
ISO 9660文件系统,常用于光盘,CD为代表。 |
jfs |
IBM创建的JFS文件系统。 |
nfs |
NFS文件系统,常用于访问网络文件。 |
nfs4 |
NFSv4文件系统,常用于访问网络文件。 |
ntfs |
NTFS文件系统,常用于运行Windows操作系统的设备。 |
udf |
UDF文件系统,常用于光盘,DVD为代表。 |
vfat |
FAT文件系统,常用于运行Windows操作系统的设备,某些数字媒体如USB闪存驱动器或软盘。 |
举例3:挂载USB闪存设备:
旧的USB闪存驱动器通常使用FAT文件系统。假设有设备/dev/sdc1和目录 /media/flashdisk/,在root权限下输入以下命令将其挂载在此目录下:
~]# mount -t vfat /dev/sdc1 /media/flashdisk
指定挂载选项:
使用以下命令形式指定附加挂载选项:
mount -o options device directory
当提供多重选项时,不要在逗号后插入空格。
常用mount选项
Option |
Description |
async |
允许在文件系统中的异步输入/输出操作 |
auto |
允许使用mount –a命令自动挂载文件系统 |
defaults |
等同于async, auto, dev, exec, nouser, rw, suid |
exec |
允许在特定文件系统执行二进制文件 |
loop |
将一个镜像挂载为loop设备 |
noauto |
默认禁止使用mount –a命令自动挂载文件系统 |
noexec |
禁止在指定文件系统执行二进制文件 |
nouser |
禁止普通用户(非root)挂载和卸载文件系统 |
remount |
如果文件系统已挂载则重新挂载 |
ro |
将文件系统挂载为已读 |
rw |
将文件系统挂载为读写 |
user |
允许普通用户(非root)挂载和卸载文件系统 |
举例4:挂载ISO镜像:
ISO镜像(或通常的磁盘镜像)可使用loop设备挂载。假设当前工作目录下有 Fedora 14 安装磁盘镜像,目录为/media/cdrom/ ,在root权限下使用以下命令挂载此镜像:
~]# mount -o ro,loop Fedora-14-x86_64-Live-Desktop.iso /media/cdrom
共享挂载:
有时候,某些系统管理任务需要从目录树中的多个地方(例如,当准备chroot环境)访问同一个文件系统。这是可以实现的,Linux系统允许用户在需要时将同一个文件系统挂载到多个目录下。此外,mount命令附加--bind选项可复制指定的挂载。
使用方法如下:
mount --bind old_directory new_directory
虽然此命令允许用户从多个地方访问文件系统,它并不适用于挂载在原来目录之内的文件系统。要包括这些挂载,输入:
mount --rbind old_directory new_directory
共享的挂载允许创建给定挂载点的精确副本。当一个挂载点标记为共享,源挂载点的所有挂载都将被复制。将挂载点类型改为共享挂载,输入以下命令:
mount --make-shared mount_point
另外,要改变选定挂载点及其下所有挂载点的类型,输入以下命令:
mount --make-rshared mount_point
举例5:创建共享挂载点:
其他的文件系统通常挂载在两个地方:可移动媒体在/media目录,暂时挂载的文件系统在/mnt目录。使用共享挂载用户可使这两个目录共享同样的内容。要做到这一点,在root权限下将/media目录标记成“shared”。
~]# mount --bind /media /media
~]# mount --make-shared /media
使用以下命令在/mnt创建它的副本:
~]# mount --bind /media /mnt
现在可验证/media目录下的挂在内容同样出现在/mnt目录。运行以下命令:
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI GPL isolinux LiveOS
~]# ls /mnt/cdrom
EFI GPL isolinux LiveOS
类似的,可验证/mnt目录下挂载的所有文件系统都复制到/media目录。例如,如果插入一个非空的USB闪存驱动器,使用/dev/sdc1设备,/mnt/flashdisk/目录,输入:
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
en-US publican.cfg
~]# ls /mnt/flashdisk
en-US publican.cfg
移动挂载点:
使用以下命令更改文件系统的挂载目录:
mount --move old_directory new_directory
举例6:移动当前NFS挂载点:
一个NFS存储包含用户目录并已挂载在 /mnt/userdirs/。在root权限下,输入以下命令将此挂载点移动至/home:
~]#mount --move /mnt/userdirs /home
要验证此挂载点已被移动,列出两个目录的内容:
~]#ls /mnt/userdirs
~]#ls /home
jill joe
卸载文件系统:
卸载之前挂载的文件系统,使用以下命令:
umount directory
umount device
注意,只有作为root用户登录时才能执行此操作。
重要提示:确保该目录不在使用中:
当一个文件系统正在被使用,执行umount命令将会返回错误。确认哪一个进程正在访问文件系统,使用fuser命令:
fuser –m directory
例如,列出访问/media/cdrom/目录下文件系统的进程,输入:
~]$ fuser -m /media/cdrom
/media/cdrom: 1793 2013 2022 2435 10532c 10672c
举例7:卸载CD:
卸载之前挂载在/media/cdrom/目录下的CD,输入以下命令:
~]$ umount /media/cdrom