Linux: Find Out What Partition a File Belongs To

Posted on in Categories last updated December 19, 2011

How do I find out that /users/f/foo/file.txt file belongs to a specific partition? How do I find out on what partition a file exits?

The df command report file system disk space usage including file names and directory names. The syntax is as follows:

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

In this example find out partition name for a file called /users/f/foo/file.txt, enter:
$ df -T /users/f/foo/file.txt
Sample outputs:

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

The above command indicates that the file called “/users/f/foo/file.txt” belongs to /dev/sda5 partition. The following command only shows partition name:

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

OR

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

Sample outputs:

/dev/sda5

I recommend that you place the following bash function in your ~/.bashrc file

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

Sample usage:
$ findpart /foo/bar
$ findpart /etc
$ findpart /home/vivek/test.txt

Sample session:

Linux df Command To Find Out On What Partition a File (Directory) Exits?
df Command To Find Out On What Partition a File (Directory) Exits

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

6 comment

Leave a Comment