Linux:找出文件所属的分区

时间:2020-01-09 10:42:10  来源:igfitidea点击:

如何确定/users/f/foo/file.txt文件属于特定分区?
我如何找出文件所在的分区?

df命令报告文件系统磁盘空间使用情况,包括文件名和目录名。
语法如下:

df
df /path/to/dir
df /path/to/file

在此示例中,查找名为/users/f/foo/file.txt的文件的分区名称,执行:

$ df -T /users/f/foo/file.txt

输出示例:

Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda5     ext4   472439072 146088944 302351616  33% /

上面的命令表明名为/users/f/foo/file.txt的文件属于/dev/sda5分区。
以下命令仅显示分区名称:

df /users/f/foo/file.txt | awk '/^\/dev/ {print }'

或者

awk '/^\/dev/ {print }' <<<"$(df /users/f/foo/file.txt)"

输出示例:

/dev/sda5

我建议您将以下bash函数放在~/.bashrc文件中

# find partition name for a given filename
findpart() { [ -e "" ] && df -P ""  | awk '/^\/dev/ {print }' || echo " not found"; }

用法示例:

$ findpart /foo/bar

$ findpart /etc

$ findpart /home/Hyman/test.txt