linux - Given the directory name, how to find the Filesystem on which it resides in C? -
for example, sample df command output
filesystem mb blocks free %used iused %iused mounted on /dev/hd4 512.00 322.96 37% 4842 7% / /dev/hd2 4096.00 717.96 83% 68173 29% /usr /dev/hd9var 1024.00 670.96 35% 6385 4% /var /dev/hd3 5120.00 0.39 100% 158 10% /tmp now if specify /tmp/dummy.txt should able /dev/hd3 or hd3.
edit : torek answer. probing /proc become tedious. can suggest me system calls can same internally?
df `pwd` ...super simple, works, , tells how space there...
[stackuser@rhel62 ~]$ pwd /home/stackuser [stackuser@rhel62 ~]$ df `pwd` filesystem 1k-blocks used available use% mounted on /dev/sda7 250056240 196130640 41223408 83% / [stackuser@rhel62 ~]$ cd isos [stackuser@rhel62 isos]$ pwd /home/stackuser/isos [stackuser@rhel62 isos]$ df `pwd` filesystem 1k-blocks used available use% mounted on /dev/sda5 103216920 90417960 11750704 89% /mnt/sda5 [stackuser@rhel62 isos]$ df $(pwd) filesystem 1k-blocks used available use% mounted on /dev/sda5 103216920 90417960 11750704 89% /mnt/sda5 ...which cause of mount point query in first place.
note backticks, , alternate (modern) method, providing further control on slashes , expansion df $(pwd). tested , traverses symlinks correctly on bash, dash, busybox, zsh. note tcsh won't $(...), stick older backtick style in csh-variants.
there switches in pwd , df further enjoyment.
Comments
Post a Comment