Friday, March 9, 2012

Linux: Find Out What Partition a File Belongs To


ow 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

No comments:

Post a Comment

Thank you for your comment