linux常用命令----mount和umount设备挂载
mount用来挂载, umount用来卸载。拔出U盘,弹出光盘前记得umount。这个世界,存在一个事物就有其合理性
mount [-t 文件系统] [-L 卷标名] [-o 其他选项] 设备文件名称 挂载点
1 | # 例如 |
常见分区类型有ext,fat,ntfs. 对应驱动以模块形式放入硬盘。保存在/lib/modules/内核版本号/kernel
中,分区类型驱动在fs目录中。比如我目前的系统是mint,分区驱动对应目录为/lib/modules/5.4.0-100-generic/kernel/fs/
,如下

可以看到,mint系统已经包含常见的fat,ntfs等驱动。如果当前系统不包含想要挂载的分区类型驱动,则可能需要重新编译内核。有些文件系统比如ntfs,也可以找三方解决方案,比如安装ntfs-3g来支持ntfs磁盘的挂载。
- 光盘挂载 (
/dev/cdrom
或/dev/sr0
)1
2// 只读盘挂载
mount -t iso9660 /dev/sr0 /mnt/cdrom
- /dev/cdrom是/dev/sr0的软链接,建议直接使用/dev/sr0挂载光盘。
- 如果光盘没有umount掉,光盘是无法弹出的,切记切记
- 使用空目录作为挂载点
移动硬盘挂载(/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固定挂载硬盘
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即可