ubuntu(7)磁盘挂载mount
在 Ubuntu 中,mount
命令用于挂载文件系统,使其可以被操作系统访问
1.基本语法
1 | mount [选项] [设备] [挂载点] |
- 设备: 要挂载的设备或分区(如
/dev/sda1
、UUID、LABEL 等)。 - 挂载点: 文件系统挂载到的目录(如
/mnt
、/media
等)。 - 选项: 用于指定挂载方式的额外参数。
2.常用参数
参数 | 描述 |
---|---|
-t <类型> |
指定文件系统类型(如 ext4 、ntfs 、vfat 、iso9660 等)。 |
-o <选项> |
指定挂载选项(如 ro 只读、rw 读写、defaults 默认设置等)。 |
-a |
挂载 /etc/fstab 文件中定义的所有文件系统。 |
-r |
以只读模式挂载(等同于 -o ro )。 |
-w |
以读写模式挂载(等同于 -o rw )。 |
--bind |
将一个目录绑定挂载到另一个目录(类似于符号链接,但更灵活)。 |
-L <标签> |
使用设备的 LABEL(标签)挂载。 |
-U <UUID> |
使用设备的 UUID 挂载。 |
3.使用例子
1. 挂载一个分区到指定目录
假设有一个 ext4 文件系统的分区 /dev/sdb1
,将其挂载到 /mnt
:
1 | sudo mount /dev/sdb1 /mnt |
2. 指定文件系统类型挂载 U 盘
如果 U 盘是 FAT32 格式,挂载到 /media/usb
:
1 | sudo mount -t vfat /dev/sdc1 /media/usb |
3. 以只读模式挂载
将分区挂载为只读:
1 | sudo mount -o ro /dev/sda1 /mnt |
4. 使用 UUID 挂载
查看设备的 UUID:
1 | lsblk -f |
假设 UUID 是 1234-5678
,挂载到 /mnt/data
:
1 | sudo mount -U 1234-5678 /mnt/data |
5. 挂载 ISO 文件
将一个 ISO 文件挂载到某个目录:
1 | sudo mount -t iso9660 -o loop disk.iso /mnt/iso |
6. 绑定挂载
将 /var/www
绑定到 /mnt/www
:
1 | sudo mount --bind /var/www /mnt/www |
7. 自动挂载 /etc/fstab
中的所有条目
挂载 /etc/fstab
中定义的所有文件系统:
1 | sudo mount -a |
8. 查看当前挂载情况
不带参数运行 mount
,显示所有已挂载的文件系统:
1 | mount |
4.mount
挂载参数
mount
命令用于将设备(如硬盘分区、U 盘、ISO 文件等)的文件系统挂载到 Linux 的目录树中,使其内容可以通过挂载点访问。
基本语法:
1 | mount [-t <文件系统类型>] [-o <选项>] <设备> <挂载点> |
1. -a
- 作用:挂载
/etc/fstab
文件中定义的所有文件系统。 - 示例:
1
sudo mount -a
2. -t <文件系统类型>
- 作用:指定文件系统的类型(如
ext4
、ntfs
、vfat
、iso9660
等)。 - 示例:
1
sudo mount -t ext4 /dev/sdb1 /mnt
3. -o <选项>
作用:指定挂载时的具体行为,可以用逗号分隔多个选项。
常用选项如下:
async
/sync
async
:异步模式,数据写入时先缓存,性能较高但可能有数据丢失风险。sync
:同步模式,数据直接写入设备,较慢但更安全。- 示例:
1
sudo mount -o sync /dev/sdc1 /mnt
atime
/noatime
atime
:每次访问文件时更新文件的访问时间。noatime
:不更新访问时间,提升性能(常用于 SSD)。- 示例:
1
sudo mount -o noatime /dev/sda1 /mnt
auto
/noauto
auto
:支持自动挂载(比如mount -a
时会被挂载)。noauto
:不会自动挂载。- 示例(通常配置在
/etc/fstab
中):
/dev/sdb1 /mnt ext4 noauto 0 0
suid
/nosuid
suid
:允许文件系统中的可执行文件以超级用户权限运行。nosuid
:禁止超级用户权限运行(提高安全性)。- 示例:
1
sudo mount -o nosuid /dev/sdb1 /mnt
user
/nouser
user
:允许普通用户挂载和卸载(常用于 U 盘等)。nouser
:只有 root 用户可以挂载/卸载。- 示例:
1
sudo mount -o user /dev/sdc1 /media/usb
remount
- 作用:重新挂载一个已挂载的文件系统,通常用于更改挂载选项(如从只读改为读写)。
- 示例:
1
sudo mount -o remount,rw /mnt
ro
/rw
ro
:只读模式挂载。rw
:读写模式挂载。- 示例:
1
sudo mount -o ro /dev/sda1 /mnt
loop
- 作用:将一个文件(如 ISO 文件)当作块设备挂载。
- 示例:
1
sudo mount -o loop disk.iso /mnt/iso
defaults
- 作用:使用默认选项组合,等价于
rw,suid,dev,exec,auto,nouser,async
。 - 示例:
1
sudo mount -o defaults /dev/sdb1 /mnt
- 作用:使用默认选项组合,等价于
5.综合使用示例
挂载一个只读的 ext4 分区
1
sudo mount -t ext4 -o ro /dev/sda1 /mnt
将 ISO 文件挂载到目录
1
sudo mount -t iso9660 -o loop,ro disk.iso /mnt/iso
重新挂载为读写模式
1
2sudo mount -o remount,rw /mnt
sudo mount -o remount,rw / ### 根重新读写挂载允许普通用户挂载 U 盘
1
sudo mount -o user,rw /dev/sdc1 /media/usb
同步模式挂载分区
1
sudo mount -o sync /dev/sdb1 /mnt
6.补充说明
查看挂载情况:
1
mount
或:
1
df -h
卸载文件系统:
1
sudo umount /mnt
**配置文件
/etc/fstab
**:
如果需要开机自动挂载,可以编辑/etc/fstab
,例如:
/dev/sdb1 /mnt ext4 defaults 0 0
7.注意事项
- 权限: 挂载通常需要超级用户权限(
sudo
)。 - 挂载点: 挂载点必须是一个已存在的空目录。
- 卸载: 使用
umount
命令卸载,例如:1
sudo umount /mnt
- 查看设备信息: 使用
lsblk
或fdisk -l
查看可用设备和分区。