上一篇                     
               
			  怎样查找Linux文件所在磁盘?
- Linux
- 2025-06-11
- 2801
 要查看Linux文件所在磁盘目录,使用
 
 
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 最佳实践指南。
 
  
			 
			 
			