暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux系统之mount命令

ITPro进化论 2023-11-07
392

Linux中的根目录以外的文件想要被访问,需要将其关联到根目录下的某个目录来实现,这种关联操作就是挂载,这个目录就是挂载点,解除此关联关系的过程称为卸载

挂载点需要以下几个注意事项:

  • 要挂载的目录已存在;
  • 挂载点目录不可被其他进程使用到;
  • 挂载点下原有文件将被隐藏;

mount命令不带任何参数,可以显示当前系统已挂载的所有设备;

1、挂载命令:mount

mount命令格式:

mount [-hV]
mount -a [-fFnrvw] [-t vsftype]
mount [-fnrvw] [-o options [,...]] device | dir
mount [-fnrvw] [-t vsftype] [-o options] device dir

device:指明要挂载的设备,包括如下几类:

  • 设备文件:例如 dev/sda1
  • 卷标:-L 'LABEL',例如 -L 'MYDATA'
  • UUID:-U 'UUID',例如 -U 'c96d9092-3a1e-4f37-86cf-7ac2bbde15e2'
  • 伪文件系统名称:pro、sysfs、devtmpfs、configfs

dir: 挂载点

已经存在的目录,建议使用空目录,非空目录下的文件将会被隐藏;进程正在使用中的设备无法被卸载;

选项说明:

  • -h:显示帮助信息
  • -V:显示版本信息
  • -a:自动挂载所有支持自动挂载的设备,将/etc/fstab中定义的所有挂载信息重新挂载
  • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用
  • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个进程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作
  • -n:mount 在挂上后会在 /etc/mtab 中写入一条挂载信息,-n则不写入 /etc/mtab
  • -r:以只读方式挂载文件系统(同 -o ro)
  • -v:打印当前进行的操作
  • -w:以读写方式挂载文件系统(默认)
  • -t vsftype:指定要挂载的设备上的文件系统类型,通常不必指定,mount 会自动选择正确的型态
  • -L 'LABEL':以卷标指定挂载设备
  • -U 'UUID':以UUID指定要挂载的设备;
  • -B --bind:绑定目录到另一个目录上

-o options:挂载文件系统的选项

  • async:异步模式
  • sync:同步模式
  • atime/noatime:包含目录和文件
  • diratime/nodiratime:目录的访问时间戳
  • auto/noauto:是否支持自动挂载
  • exec/noexec:是否支持将文件系统上应用程序运行为进程
  • dev/nodev:是否支持在此文件系统上使用设备文件
  • suid/nosuid:是否支持在此文件系统上使用特殊权限
  • remount:重新挂载
  • ro:只读
  • rw:读写
  • user/nouser:是否允许普通用户挂载此设备
  • acl:启用此文件系统上的acl功能

注意:
上述选项可多个同时使用,彼此用逗号分隔;

默认挂载选项:rw,suid,dev,exec,auto,nouser,async

2、卸载命令:umount

umount命令格式:

umount device
umount mount_point

3、开机自动挂载

修改 /etc/fstab 文件可以实现开机自动挂载某设备,按照指定的格式添加需要挂载的信息即可;

文件挂载的配置文件 /etc/fstab 内容如下:

/etc/fstab 文件每行定义一个要挂载的文件系统,其每行的格式如下:

要挂载的设备或伪文件系统挂载点文件系统类型挂载选项转储频率自检次序
UUID=c96d9092-3a1e-4f37-86cf-7ac2bbde15e2/bootxfsdefaults00
  • 要挂载的设备或伪文件系统:设备文件、LBAEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc、sysfs)
  • 挂载点:指定的目录
  • 挂载选项:defaults
  • 转储频率:0——不做备份,1——每天转储,2——每隔一天转储
  • 自检次序:0——不自检,1——首先自检,一般只有rootfs采用1;

4、/etc/fstab 与 /etc/mtab 的区别

/etc/fstab

/etc/fstab是开机自动挂载的配置文件,在开机时起作用,相当于启动Linux的时候,自动使用检查分区的fsck命令和挂载分区的mount命令,检查分区和挂载分区是根据/etc/fstab中记录的相关信息进行的。

/etc/mtab

/etc/mtab记录的是当前系统已挂载的分区信息,每次挂载、卸载分区时会更新/etc/mtab文件中的信息。

两者的区别

/etc/fstab是在开机时起作用,相当于开机时执行了fsck命令和mount命令,系统根据/etc/fstab配置的信息自动挂载相关分区,随后更新/etc/mtab的信息;/etc/mtab是当前分区的挂载信息,如果挂载信息改变,/etc/mtab文件就会更新,mount命令的使用不会改变/etc/fstab文件内容,但会改变/etc/mtab文件的内容。

文章转载自ITPro进化论,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论