df -h 文件路径
命令,显示文件系统挂载点及磁盘使用情况,lsblk
可查看所有磁盘分区结构。使用 df
命令(推荐)
原理:通过挂载点反推磁盘分区
适用场景:已知文件绝对路径时快速定位磁盘
操作步骤:
df -h /path/to/your/file
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 32G 16G 67% /home
结果解读:
Filesystem
:文件所在磁盘分区(如/dev/sda1
)Mounted on
:分区挂载目录(即文件所在磁盘的根目录)
结合 find
与 lsblk
(精确物理磁盘定位)
原理:通过设备号匹配物理磁盘
适用场景:需要确认文件所在的物理硬盘(如 /dev/sda
)
# 1. 获取文件所在设备号 stat -c "%d" /path/to/file # 2. 查询所有磁盘设备号 lsblk -o NAME,MAJ:MIN # 3. 对比设备号(如输出 8:0 → 对应 /dev/sda)
操作示例:
$ stat -c "%d" /var/log/syslog 8,1 $ lsblk -o NAME,MAJ:MIN NAME MAJ:MIN sda 8:0 └─sda1 8:1 # 匹配成功 → 文件位于 /dev/sda 磁盘
通过 mount
命令查看挂载关系
原理:列出所有磁盘挂载点
适用场景:分析复杂存储结构(如多磁盘合并)
mount | grep '^/dev'
输出关键信息:
/dev/sdb2 on /data type ext4 (rw) # /data 目录下的文件位于 /dev/sdb2 磁盘
图形化工具(适合新手)
- GNOME Disks:
打开应用 → 选择磁盘 → 查看分区挂载点
- Nautilus 文件管理器:
右键文件 → 属性 → 查看”位置”路径对应的挂载点
高级技巧:自动化脚本
创建快速定位脚本 find-disk.sh
:
#!/bin/bash file_path=$1 df -h $file_path | awk 'NR==2 {print "磁盘分区: "$1 "n挂载点: "$6}'
使用方式:
chmod +x find-disk.sh ./find-disk.sh /your/target/file
最佳实践建议
- 空间不足时:优先用
df -h
查看目标目录磁盘用量 - 多磁盘环境:结合
lsblk
确认物理磁盘拓扑 - 权限问题:若提示
Permission denied
,在命令前加sudo
- 符号链接:对链接文件使用
realpath /path/to/link
获取真实路径
重要提示:
- 系统关键目录(如
/bin
、/usr
)通常位于根分区()- 网络存储(NFS/SMB)会显示为独立文件系统类型
- LVM 逻辑卷需通过
lvs
命令进一步追踪物理卷
引用说明:
本文方法基于 Linux 内核文档(kernel.org)及《Linux Filesystem Hierarchy Standard》,命令行工具参考 GNU Coreutils 官方手册(gnu.org/software/coreutils),磁盘管理部分遵循 LVM 最佳实践指南。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/19639.html