9.24. Finding the (Hard) Links to a File
% ls -li /usr/bin/at 8041 -r-sr-xr-x 4 root wheel 19540 Apr 21 2001 /usr/bin/at*
In other words, there are four links, and /usr/bin/at is one of four names for inode 8041. You can find the full names of the other three links by using find. However, just knowing the inode number does not tell you everything. In particular, inode numbers are only unique to a given filesystem. If you do a find / -inum 8041 -print, you may find more than four files, if inode 8041 is also on another filesystem. So how do you tell which ones refer to the same file as /usr/bin/at?
The simplest way is to figure out the filesystem on which /usr/bin/at lives by using df:
% df /usr/bin/at Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1f 3360437 1644024 1447579 53% /usr
% find /usr -xdev -inum 8041 -print /usr/bin/at /usr/bin/atq /usr/bin/atrm /usr/bin/batch
Some manpages list -x as an alternative to -xdev; -xdev is generally more portable.
--DJPH and CT
Copyright © 2003 O'Reilly & Associates. All rights reserved.