Linux常用命令-mount

命令

mount

描述

mount a filesystem
挂载文件系统

用法

1
2
3
4
5
mount [-lhV]
mount -a [options]
mount [options] [--source] <source> | [--target] <directory>
mount [options] <source> <directory>
mount <operation> <mountpoint> [<target>]

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Options:
-a, --all 挂载/etc/fstab文件中指定的所有文件系统
-c, --no-canonicalize 不要规范化路径
-f, --fake 仅测试而不真正挂载
-F, --fork fork off for each device (use with -a)
-T, --fstab <path> 指定fstab文件
-i, --internal-only don't call the mount.<type> helpers
-l, --show-labels lists all mounts with LABELs
-n, --no-mtab don't write to /etc/mtab
-o, --options <list> 指定挂载参数
-O, --test-opts <list> limit the set of filesystems (use with -a)
-r, --read-only 以只读方式挂载,等同于-o ro
-t, --types <list> 过滤文件系统类型
--source <src> explicitly specifies source (path, label, uuid)
--target <target> explicitly specifies mountpoint
-v, --verbose 显示详情
-w, --rw, --read-write 以读写方式挂载,默认选项

Source:
-L, --label <label> 等同于LABEL=<label>
-U, --uuid <uuid> 等同于UUID=<uuid>
LABEL=<label> 指定文件系统标签
UUID=<uuid> 指定文件系统UUID
PARTLABEL=<label> 指定分区标签
PARTUUID=<uuid> 指定分区UUID
<device> 指定设备路径
<directory> 指定挂载点 (see --bind/rbind)
<file> 指定常规文件

Operations:
-B, --bind 常用于挂载文件夹 (same as -o bind)
-M, --move move a subtree to some other place
-R, --rbind mount a subtree and all submounts somewhere else
--make-shared mark a subtree as shared
--make-slave mark a subtree as slave
--make-private mark a subtree as private
--make-unbindable mark a subtree as unbindable
--make-rshared recursively mark a whole subtree as shared
--make-rslave recursively mark a whole subtree as slave
--make-rprivate recursively mark a whole subtree as private
--make-runbindable recursively mark a whole subtree as unbindable

注意

建议/etc/fstab仅用于挂载本地磁盘分区,如果fstab中指定的文件路径不可用将导致系统无法启动.建议使用UUID挂载,避免多个盘符错乱导致挂载失败
建议使用autofs工具挂载远程文件系统

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$ mount |grep ^/dev
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
# 临时挂载/dev/sdb1到/mnt/temp目录
$ lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 5G 0 part
$ mkdir /mnt/temp
$ mount /dev/sdb1 /mnt/temp/
$ lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 5G 0 part /mnt/temp
$ lsblk /dev/sdb1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb1 8:17 0 5G 0 part /mnt/temp
$ mount | grep temp
/dev/sdb1 on /mnt/temp type xfs (rw,relatime,attr2,inode64,noquota)
# 永久挂载,将配置写入到/etc/fstab
$ umount /dev/sdb1
$ echo '/dev/sdb1 /mnt/temp xfs defaults 0 0' >> /etc/fstab
$ tail -5 /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=6522f0f0-b710-4b96-8818-ba1b26b849a0 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /mnt/temp xfs defaults 0 0
$ mount -a
$ mount | grep temp
/dev/sdb1 on /mnt/temp type xfs (rw,relatime,attr2,inode64,noquota)
# 使用UUID挂载
# 获取指定分区的UUID,然后更改fstab中的路径
$ blkid /dev/sdb1
/dev/sdb1: UUID="1f3fd639-549a-49df-bebd-9b127dd31f0c" TYPE="xfs" PARTUUID="a98aae4a-af21-40a0-b211-0da2908a0942"
$ vim /etc/fstab
$ tail -1 /etc/fstab
UUID=1f3fd639-549a-49df-bebd-9b127dd31f0c /mnt/temp xfs defaults 0 0
$ umount /dev/sdb1
$ mount -a
$ lsblk /dev/sdb1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb1 8:17 0 5G 0 part /mnt/temp

# Ubuntu系统安装nfs-server包,如仅作为client则无需安装server包
$ sudo apt install nfs-kernel-server
# Ubuntu系统安装nfs-client包
$ sudo apt install nfs-common
# 安装之后验证
$ lsmod | grep nfs
# 挂载nfs,默认自动匹配nfs版本,从高到低(4.2,4.1,4.0,3)
$ sudo mount -t nfs nfs-server:/data/nfshare /mnt
# 挂载时指定-vvv可以查看详情
$ sudo mount -vvv -t nfs nfs-server:/data/nfshare /mnt
# 指定nfs版本
$ sudo mount -t nfs -o vers=4.1 nfs-server:/data/nfshare /mnt
# 配置开机挂载
$ sudo vim /etc/fstab
nfs-server:/data/nfshare /mnt nfs defaults 0 0