在Linux系统中查看各个盘中的文件,需要先识别系统中的磁盘设备及其挂载情况,再通过命令行或图形界面工具访问文件内容,以下是详细的操作步骤和方法,涵盖基础命令、挂载管理及图形化工具的使用。
查看磁盘基本信息:识别系统中的磁盘设备
在访问磁盘文件前,需先了解系统中有哪些磁盘设备、分区结构及挂载状态,Linux中常用以下命令进行查看:
使用 lsblk
列出块设备信息
lsblk
(list block devices)以树形结构显示磁盘、分区及挂载点,适合快速了解磁盘层级关系。
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO MOUNTPOINT
sda 8:0 0 238.5G 0
├─sda1 8:1 0 512M 0 /boot/efi
└─sda2 8:2 0 238G 0 /
sdb 8:16 1 931.5G 0
└─sdb1 8:17 0 931.5G 0 /mnt/data
sr0 11:0 1 1024M 0
NAME
:设备名(如sda
为系统盘,sdb
为数据盘);SIZE
:磁盘/分区大小;MOUNTPOINT
:挂载点(空表示未挂载);RM
:是否可移动设备(1是,0否)。
使用 fdisk -l
查看磁盘分区表
fdisk -l
(list disk partition)显示磁盘的详细分区信息,包括分区起始/结束扇区、文件系统类型等。
sudo fdisk -l
输出示例:
磁盘 /dev/sdb:931.51 GiB, 1000204886016 字节,1953525168 个扇区
Units: 扇区/1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节/512 字节
I/O 大小(最小/最佳):512 字节/512 字节
磁盘标签类型:dos
磁盘标识符:0x12345678
设备 启动 起点 末点 扇区 大 Id 类型
/dev/sdb1 2048 1953523711 1953521664 83 Linux
Id
:分区类型(83为Linux原生文件系统,7为NTFS,0b为FAT32等)。
使用 df -h
查看已挂载文件系统的使用情况
df -h
(disk free – human-readable)显示已挂载分区的空间使用情况,帮助快速定位目标磁盘的挂载点。
df -h
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 238G 20G 208G 9% /
/dev/sda1 512M 120M 393M 24% /boot/efi
/dev/sdb1 932G 450G 482G 49% /mnt/data
tmpfs 3.9G 0 3.9G 0% /dev/shm
命令 | 作用 | 常用选项 |
---|---|---|
lsblk |
查看块设备树形结构 | -f 显示文件系统类型,-m 显示权限 |
fdisk -l |
查看磁盘分区表详情 | 无(需root权限) |
df -h |
查看已挂载分区空间使用 | -T 显示文件系统类型,-a 显示所有 |
访问已挂载磁盘中的文件
若磁盘分区已挂载(lsblk
或df -h
中MOUNTPOINT
非空),可直接通过挂载点路径访问文件,例如访问/mnt/data
目录下的文件:
基础文件浏览命令
ls
:列出目录内容,-l
显示详细信息(权限、所有者、大小、修改时间),-a
显示隐藏文件。ls -la /mnt/data
tree
:以树形结构递归显示目录层级(需安装tree
包:sudo apt install tree
)。tree /mnt/data
find
:按文件名、类型、大小等条件查找文件,例如查找/mnt/data
下所有.log
文件:find /mnt/data -name "*.log" -type f
进阶文件操作命令
du
:查看目录/文件大小,-sh
以人类可读格式显示总大小(s
汇总,h
人性化单位)。du -sh /mnt/data/video # 查看/video目录大小
cp/mv/rm
:复制、移动、删除文件(注意:删除操作需谨慎,尤其是rm -rf
)。cp /mnt/data/file.txt ~/backup/ # 复制文件到用户主目录 mv /mnt/data/old.txt /mnt/data/new.txt # 重命名文件
处理未挂载的磁盘:手动挂载与自动挂载
若磁盘分区未挂载(MOUNTPOINT
为空),需先挂载才能访问文件。
手动挂载步骤
- 创建挂载目录:
sudo mkdir -p /mnt/mydisk # -p确保父目录存在
- 挂载分区:使用
mount
命令,格式为mount 设备路径 挂载点
,需指定文件系统类型(若系统无法自动识别)。sudo mount /dev/sdb1 /mnt/mydisk # 挂载/dev/sdb1到/mnt/mydisk
若文件系统为NTFS(Windows系统),需安装
ntfs-3g
并指定类型:sudo mount -t ntfs-3g /dev/sdb1 /mnt/mydisk
- 验证挂载:运行
df -h
或lsblk
,确认MOUNTPOINT
变为/mnt/mydisk
。
自动挂载(通过/etc/fstab
)
为避免每次开机后手动挂载,可编辑/etc/fstab
文件实现自动挂载:
echo "/dev/sdb1 /mnt/mydisk ext4 defaults 0 0" | sudo tee -a /etc/fstab
- 字段含义:设备路径、挂载点、文件系统类型、挂载选项(
defaults
包含rw,auto
等)、备份标记(0不备份)、检查顺序(0不检查)。 - 修改后可通过
sudo mount -a
测试自动挂载是否生效。
图形界面工具:适合新手用户
若不熟悉命令行,可通过Linux自带的图形化磁盘管理工具查看文件:
GNOME磁盘工具(Ubuntu等发行版)
- 打开方式:
活动
→ 搜索“磁盘”或运行gnome-disks
。 - 功能:左侧选择磁盘设备,右侧可查看分区信息、挂载状态,点击“挂载”按钮挂载未挂载分区,点击“打开”直接访问文件。
KDE分区管理器(KDE/Ubuntu Kylin)
- 打开方式:
应用程序
→ 系统工具 → “分区管理器”。 - 功能:可视化管理磁盘分区,支持格式化、挂载、调整分区大小,点击分区后可通过“操作”菜单挂载并打开文件。
进阶工具:磁盘健康与深度分析
smartctl
:监控磁盘健康状态(需安装smartmontools
),例如查看/dev/sda
的SMART信息:sudo smartctl -a /dev/sda
ncdu
:交互式磁盘使用分析工具(需安装ncdu
),可递归扫描目录并可视化显示文件大小:ncdu /mnt/data
相关问答FAQs
Q1: 如何查看Linux系统中某个特定目录(如/var/log
)所在的磁盘分区?
A: 可通过df
命令查看目录对应的挂载点和分区信息:
df /var/log
输出示例中Filesystem
列即为目录所在分区(如/dev/sda2
),Mounted on
列显示挂载点()。
Q2: Linux提示“device is busy”无法卸载磁盘,如何解决?
A: “device is busy”表示有程序正在访问该设备,可通过以下步骤解决:
- 查找占用进程:
sudo lsof /mnt/mydisk
(lsof
需安装,若未安装运行sudo apt install lsof
); - 终止进程:
sudo kill 进程ID
(谨慎操作,避免终止关键系统进程); - 若仍无法卸载,可强制卸载(不推荐,可能导致数据丢失):
sudo umount -l /mnt/mydisk
(-l
选项会延迟卸载,直到进程释放设备)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/16842.html