Link to home
Start Free TrialLog in
Avatar of pillmill
pillmill

asked on

Find duplicate, hard linked files ?

How do I find all the duplicated, hard linked files in a UNIX/LINUX file system ?
I want to find all the files with the same INODE and the same Name,
but that are in different directories.
Avatar of omarfarid
omarfarid
Flag of United Arab Emirates image

Hi,

pillmill:

I think you have a posted similar question about finding files of same inode, and I am repeating the solution with a different find command.

The command ls -i will show the inode of a file. Also the find command with the -inum option will find files b inode number.

So if you know the inode number of a file you can use

find /dir -type f -inum number -name filename -mount

The number is the inode number of the file

the -mount option is to restrict search to the same filesystem since files on different filesystem can have the same inode number (hence are different files)

- type f is to list files only (directories will not have the same inode number)
if You look for files that just have more than one link (it have another name), issue

find /dir -mount -type f -links +1 -printf "%i %p" | sort -n
the output is sorted by inode number
inode_number name
Avatar of pillmill
pillmill

ASKER

find -links +1   seems to identify files with symbolic links.
I want to find all the files and all the Inodes for which the files
have hard links. This means that the Inodes are the same,
but the directory location is different. How do I get this
list from scanning all the files in the directory structure ?
Hi,

pillmill:

did you try the solution I gave?
> find -links +1   seems to identify files with symbolic links.
Untrue - just verified.
Mine does exaxtly what You want. just give some mountpoint as a /dir.
ASKER CERTIFIED SOLUTION
Avatar of ravenpl
ravenpl
Flag of Poland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial