语法
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t fstype] [-o options] device dir
mount [-l]
mount [ LABEL='' | UUID='' | 设备文件名] 挂载点
作用
用于挂载Linux系统外的文件。
参数
- V:显示程序版本号
- -h:显示帮助信息
- -v:显示所有信息,通常和 -f 用来除错。
- -a:将 /etc/fstab 中定义的所有文件系统挂上。
- -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂载大量 NFS 文件系统时可以加快挂载的动作。
- -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂载过程。通常会和 -v 一起使用。
- -n:mount 挂载后会在 /etc/mtab 中写入挂载信息。但在系统中没有可写入文件系统存在的情况下,可以用这个选项取消这个动作。
- -s-r:等于 -o ro
- -w:等于 -o rw
- -l:单纯的输入mount会显示目前所挂载的信息,加上-l参数会显示Label信息。
- -L:将含有特定标签(Lable)的硬盘分区挂载。
- -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
- -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
- -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
- -o sync:在同步模式下执行(同步写入)。
- -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
- -o auto、-o noauto:打开/关闭自动挂上模式。
- -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
- -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
- -o suid、-o nosuid:
- 允许执行档在 root 权限下执行。
- -o user、-o nouser:使用者可以执行 mount/umount 的动作。
- -o remount:将原来已经挂载的文件系统重新用不同的方式挂载。例如原先是只读的系统,现在用可读写的模式重新挂载。
- -o ro:用唯读模式挂上。
- -o rw:用可读写模式挂上。
- -o loop=:使用 loop 模式用来将一个文件当成硬盘分割挂上系统。
--bind
:将目录挂载
“-o”的默认值:rw,suid,dev,exec,auto,nouser,async;
相关文件及目录
- /etc/fstab
系统启动时的配置文件,挂载文件系统。 - /etc/mtab
用来存放实际挂载的情况。
- /etc/filesystems
系统指定的测试挂载文件系统类型的优秀级; - /proc/filesystems
Linux系统已经加载的文件系统类型;
- /lib/modules/$(uname -r)/kernel/fs/
Linux支持的文件系统驱动程序放置目录;
使用实例
设备名挂载
[root@192 share]# mount /dev/sdb1 /share/msdb1
[root@192 share]# df /dev/sdb1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 1038336 32992 1005344 4% /share/msdb1
UUID挂载
[root@192 share]# blkid /dev/sdb2 -s UUID
/dev/sdb2: UUID="560c202e-5c25-4327-ba10-401d8ab133af"
[root@192 share]# mount UUID='560c202e-5c25-4327-ba10-401d8ab133af' /share/msdb2
[root@192 share]# df /share/msdb2
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb2 999320 2564 927944 1% /share/msdb2
重新挂载根目录
单人维护模式时,根目录通常会被设置成只读,这时候就需要重新挂载根目录。
mount -o remount,rw,auto /
挂载目录
将mounts目录挂载到mountd上。
与符号链接相似,用在某些不支持符号链接的程序运行中。
[root@192 share]# tree
.
├── mountd
│ └── a
├── mounts
│ └── a
│ └── b
├── msdb1
└── msdb2
└── lost+found
8 directories, 0 files
[root@192 share]# mount --bind mounts mountd
[root@192 share]# ll -i
total 4
51876593 drwxr-xr-x. 3 root root 15 Mar 4 09:57 mountd
51876593 drwxr-xr-x. 3 root root 15 Mar 4 09:57 mounts
64 drwxr-xr-x. 2 root root 6 Mar 3 18:32 msdb1
2 drwxr-xr-x. 3 root root 4096 Mar 3 18:56 msdb2
[root@192 share]# tree
.
├── mountd
│ └── a
│ └── b
├── mounts
│ └── a
│ └── b
├── msdb1
└── msdb2
└── lost+found
9 directories, 0 files
挂载文件
挂载镜像文件或其它格式化过的文件。
CentOS7 不加“-o loop”参数也可以实现文件的挂载,但是最好还是加上,实现兼容。
[root@192 share]# dd if=/dev/zero of=/share/loopdev bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.25147 s, 419 MB/s
[root@192 share]# ll loopdev
-rw-r--r--. 1 root root 524288000 Mar 4 15:19 loopdev
[root@192 share]# mkfs.xfs -f loopdev
meta-data=loopdev isize=512 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@192 share]# blkid loopdev
loopdev: UUID="7e565589-8900-42b6-8083-d657e9a751f7" TYPE="xfs"
[root@192 share]# mkdir loopdir
[root@192 share]# mount -o loop loopdev loopdir
[root@192 share]# df loopdir
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop0 508580 25824 482756 6% /share/loopdir