在 Linux 系统中,访问磁盘的核心机制是将物理存储设备通过 文件系统 挂载到目录树中的某个 挂载点 上,之后用户即可通过该目录读写数据。与 Windows 的盘符(如 C:、D:)不同,Linux 采用统一的根目录 / 作为起点,一切磁盘分区都必须挂载在某个目录下才能被访问。

首先,Linux 通过 设备文件 来标识磁盘。常见的块设备命名规则如下:SATA/SAS 硬盘 显示为 /dev/sda、/dev/sdb 等,其中 a、b 表示物理磁盘顺序;分区则追加数字,如 /dev/sda1。对于 NVMe 固态硬盘,设备名称为 /dev/nvme0n1、/dev/nvme0n2,分区为 /dev/nvme0n1p1。此外,虚拟磁盘(如云服务器)可能显示为 /dev/vda、/dev/xvda 等。
要查看系统目前识别到的所有磁盘及其分区结构,可以使用 lsblk 命令。该命令以树状形式列出块设备、大小、挂载点等信息,例如执行 lsblk 后可以看到 sda 下包含 sda1 和 sda2 等分区。更详细的分区表信息可用 fdisk -l 查看,而 blkid 可以显示分区的 UUID 和 文件系统类型(如 ext4、xfs、ntfs)。
在访问一个磁盘分区之前,需要先创建 挂载点 目录。例如要挂载 /dev/sdb1 到 /mnt/data,首先执行 mkdir -p /mnt/data 创建目录,然后使用 mount /dev/sdb1 /mnt/data 完成挂载。挂载成功后,进入 /mnt/data 即可访问该分区中的文件。若分区包含 文件系统,系统会按要求识别;若文件系统未知,可用 -t 参数指定类型,如 mount -t ext4 /dev/sdb1 /mnt/data。
对于不同 文件系统 的支持需要内核模块或工具。常见的 Linux 原生文件系统包括 ext4、XFS、Btrfs 等;访问 Windows 的 NTFS 分区,需要安装 ntfs-3g 驱动,然后使用 mount -t ntfs-3g 或直接 mount 自动识别。访问 FAT32/exFAT 分区则需要 vfat 或 exfat 支持。
卸载磁盘使用 umount 命令,例如 umount /mnt/data 或 umount /dev/sdb1。注意卸载前应确保没有进程正在使用该挂载点,否则会提示 “target is busy”,此时可用 lsof 或 fuser 查看并终止占用进程。
若希望系统重启后自动挂载磁盘,需要编辑 /etc/fstab 文件。每行记录包含设备(或 UUID)、挂载点、文件系统类型、挂载选项、dump 标志和 fsck 检查顺序。例如:UUID=xxxx /mnt/data ext4 defaults 0 2。写入该文件后,可用 mount -a 测试所有条目是否正确挂载,以避免因配置错误导致启动失败。
对于桌面版 Linux(如 Ubuntu、Fedora),插入 U 盘或移动硬盘 时,图形文件管理器通常会通过 udisks 自动挂载到 /media/用户名/卷标 目录,用户可直接访问,无需手动执行命令。但在服务器版或最小化安装环境中,手动挂载是必备技能。
此外,访问磁盘时还需注意 权限 问题。默认情况下,挂载点目录的权限由文件系统的 root 用户管理,普通用户若无写入权限则只能读取。可通过修改挂载选项 uid、gid、umask 或使用 chmod、chown 调整目录权限。例如挂载 FAT32 分区时,指定 mount -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/data 可让指定用户获得完整访问权。
对于高级存储管理,Linux 还支持 LVM(逻辑卷管理)和 RAID。LVM 将物理磁盘组合成 卷组,再划分出 逻辑卷,其设备路径通常为 /dev/mapper/卷组名-逻辑卷名,访问方式与普通分区相同。RAID 设备如 /dev/md0 也可直接挂载。在现代 Linux 系统中,可以使用 lsblk 查看这些设备的层级关系。
最后,通过 df -h 命令可以查看所有已挂载磁盘的使用情况,如容量、已用和挂载点。通过 findmnt 可以详细查看挂载树。掌握这些命令和概念,即可灵活地在 Linux 系统中访问任意磁盘资源。

查看详情

查看详情