挂载和卸载文件系统:mount
, umount
1. 什么是挂载?
欢迎来到又一个关于Linux操作的有趣讲座!今天我们来说说文件系统的挂载和卸载,这是一个让你可以操作USB驱动器、额外硬盘甚至网络存储的过程。我们将学习如何设置自动挂载,让你的数据在系统启动时就准备就绪。而最重要的是,我们会动手实践!
挂载是将设备的文件系统(硬盘、USB驱动器、ISO镜像)连接到Linux文件系统树的过程。不像Windows,你会看到像"D:\"或者"E:\"这样的设备,在Linux中,所有设备都会以某个文件夹的形式“嵌入”到文件结构中,这个文件夹被称为挂载点。
类比:火车和车站
想象一下火车(设备)和火车站(挂载点)。为了让人们能下车并使用车站的基础设施(文件),火车需要到达站台并对接。Linux中的挂载操作与设备连接到它的挂载点的方式就像这样。
2. mount
命令
我们从执行挂载的命令——mount
开始。这是你会经常使用的命令之一,特别是当你处理外部磁盘或网络存储时。
基本语法
mount [选项] <设备> <挂载点>
<设备>
— 这是你的设备在系统中的连接位置,例如/dev/sdb1
。你可以通过命令lsblk
找到它。<挂载点>
— 设备的数据将要传递的文件夹。例如,这可以是/mnt/disk
。
USB驱动器的挂载示例:
sudo mount /dev/sdb1 /mnt/usb
执行命令后,设备 /dev/sdb1
的文件将可以在文件夹 /mnt/usb
中访问。
mount
命令的有用选项
指定文件系统类型:
如果Linux无法识别设备的文件系统,请使用标志
-t
。例如:sudo mount -t ext4 /dev/sdb1 /mnt/usb
这在你使用罕见的文件系统时非常有用。
只读挂载:
如果你想保护设备数据不被修改,请使用选项
-o ro
:sudo mount -o ro /dev/sdb1 /mnt/usb
指定字符编码挂载:
对于FAT32或NTFS磁盘,有时需要指定字符编码:
sudo mount -o iocharset=utf8 /dev/sdb1 /mnt/usb
3. 命令umount
现在,当你连接了设备后,就会有个问题:怎么断开连接?这很重要,因为Linux需要“关闭”与磁盘的所有连接并完成写入操作。
主要语法
umount <设备或挂载点>
以下是一个已经连接的USB存储设备的示例:
sudo umount /mnt/usb
或者你也可以指定设备本身:
sudo umount /dev/sdb1
如果umount
不起作用怎么办?
有时候umount
命令可能会报错:"Device is busy"(设备正被占用)。这意味着有人(从文件系统的角度来看)正在“占着道”。可能是你或者其他程序当前打开了该设备上的文件。
这种情况下,可以使用命令fuser
,它会显示阻塞设备的进程:
fuser -v /mnt/usb
找到“罪魁祸首”后,可以终止进程:
kill <进程ID>
然后再重复执行umount
命令。
还记得在Windows中,在拔出U盘之前需要点击“安全移除设备(Eject)”吗?这其实就是在执行卸载命令。
4. 通过 /etc/fstab
自动挂载
手动挂载很方便,但是如果每次系统启动都需要连接设备该怎么办?为此,我们可以使用文件 /etc/fstab
。
/etc/fstab
是什么?
这是一个配置文件,其中包含需要 Linux 自动连接的设备列表。利用 fstab
,你可以设定参数,比如文件系统类型,挂载点和访问权限。
如何在 /etc/fstab
中添加设备?
通过命令
blkid
找到设备的 UUID:sudo blkid
例如,设备
/dev/sdb1
的 UUID 可能是1234-5678
。打开
/etc/fstab
文件进行编辑:sudo nano /etc/fstab
添加一行新配置:
UUID=1234-5678 /mnt/usb ext4 defaults 0 2
UUID
— 设备的唯一标识符。/mnt/usb
— 挂载点。ext4
— 设备的文件系统类型。defaults
— 默认挂载参数。0
和2
— 系统启动时设备检查参数(可调整)。
检查配置,挂载设备:
sudo mount -a
现在,每次系统重启时设备都会自动连接。
风险
⚠️ 如果 /etc/fstab
配置不正确,系统可能无法启动。一定要通过以下命令检查配置:
sudo mount -a
如果没有错误,一切运行正常。
5. 示例:挂载和卸载USB存储设备
假设你插入了一个USB存储设备,系统将其识别为/dev/sdb1
。
创建挂载点:
sudo mkdir -p /mnt/usb
挂载设备:
sudo mount /dev/sdb1 /mnt/usb
检查内容:
ls /mnt/usb
完成操作后卸载设备:
sudo umount /mnt/usb
现在,设备已安全卸载,可以拔出。
6. 实践任务
任务
- 连接USB存储设备或虚拟磁盘。
- 创建挂载点
/mnt/test-disk
。 - 将设备挂载到这个文件夹并检查其内容。
- 通过
/etc/fstab
使用UUID
设置挂载。 - 卸载设备并确保重启后设置仍然有效。
提示
- 如果没有设备,可以使用上一讲中的格式化命令创建设备(
mkfs.ext4
)。 - 在重启前检查
fstab
设置。
现在你知道如何在Linux中挂载和卸载设备,通过配置/etc/fstab
自动化连接,并安全地诊断任何问题。挂载是舒适处理数据的关键步骤,这些知识无论是在家做项目还是在工作服务器上都非常实用。
GO TO FULL VERSION