linux常用命令----mount和umount设备挂载

mount用来挂载, umount用来卸载。拔出U盘,弹出光盘前记得umount。这个世界,存在一个事物就有其合理性

mount [-t 文件系统] [-L 卷标名] [-o 其他选项] 设备文件名称 挂载点

1
2
# 例如
mount -t ntfs /dev/sdb1 /mnt/sdb1

常见分区类型有ext,fat,ntfs. 对应驱动以模块形式放入硬盘。保存在/lib/modules/内核版本号/kernel中,分区类型驱动在fs目录中。比如我目前的系统是mint,分区驱动对应目录为/lib/modules/5.4.0-100-generic/kernel/fs/,如下

2022-03-31_22-46

可以看到,mint系统已经包含常见的fat,ntfs等驱动。如果当前系统不包含想要挂载的分区类型驱动,则可能需要重新编译内核。有些文件系统比如ntfs,也可以找三方解决方案,比如安装ntfs-3g来支持ntfs磁盘的挂载。

  1. 光盘挂载 (/dev/cdrom/dev/sr0)
    1
    2
    // 只读盘挂载
    mount -t iso9660 /dev/sr0 /mnt/cdrom
  • /dev/cdrom是/dev/sr0的软链接,建议直接使用/dev/sr0挂载光盘。
  • 如果光盘没有umount掉,光盘是无法弹出的,切记切记
  • 使用空目录作为挂载点
  1. 移动硬盘挂载(/dev/sd*)

    1
    mount -t vfat -o iocharset=utf8 U盘设备文件名 挂载点 

    U盘和硬盘公用设备文件名,所以U盘文件名并不是固定的。磁盘的文件名使用sd开头,比如sda,sdb,sdc等。所以挂载磁盘前,需要查询当前磁盘列表:

    1
    2
    3
    4
    # 查看磁盘列表,可以看到目前连接了2块内置的固态和一块移动硬盘,移动硬盘设备名称是/dev/sda1
    fdisk -l
    # 因此对应移动磁盘挂载命令为
    mount -t vfat -o iocharset=utf8 /dev/sda1 /mnt/upan
    2
  2. 固定挂载硬盘
    mount -t命令挂载的磁盘在服务器重启后会丢失,如果是新增加的服务器硬盘则需要持久挂载。固定挂载硬盘的正确操作方式是编辑/etc/fstab文件,使用mount -a命令挂载。大多数人习惯性的使用mount命令直接挂载磁盘。也是很多刚刚接触linux小白经常把系统搞崩溃的点。linux系统启动过程会读取fstab配置,如果fstab配置文件有问题,会由于系统无法挂载磁盘导致系统无法进入。当然,修复就是另外的内容了。需要注意的是,mount -a仅仅挂载/etc/fstab配置文件记录的磁盘中没有被挂载的磁盘。也就意味着,如果新的磁盘已经使用mount -t 命令挂载完成,那么mount -a 命令不会重新挂载,也就不会报错。mount -a 检查新的磁盘配置是否正确时,必须先卸载磁盘后再做。对于固定磁盘的挂载,使用mount -a命令读取/etc/fstab配置来挂载磁盘,不要手动mount -t 挂载磁盘

    /etc/fstab文件配置 说明

    1
    2
    3
    <file system> <mount point>   <type>    <options>         <dump>  <pass>
    磁盘文件名 挂载点 驱动名称 选项 是否备份 开机是否fsck磁盘
    /dev/sda /opt ext4 default 0 0

​ 磁盘文件名、挂载点、驱动名称和mount -t 命令手动挂载意义相同,这里不再赘述。

​ options(选项)意义如下表,大部分情况无需修改,一般写default即可:

参数 说明
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新
async/sync 异步/同步, 默认是异步
auto/noauto 自动/手动,mount -a 命令执行时是否自动挂载当前磁盘
exec/noexec 执行/不执行,设定是否允许文件系统中执行可执行文件,默认是exec
remount 重新挂载已经挂载的文件系统
rw/ro 读写/只读,文件系统挂载时是否具有读写权限,默认是rw
suid/nosuid 具有/不具有SUID权限,默认具有
user/nouser 运行/不允许普通用户挂载,默认是不允许,只有root可以挂载分区
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持
grpquota 写入代表文件系统支持组磁盘配额,默认不支持
default 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

dump和fsck如果不理解,新磁盘默认给0即可