bug-findutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: find inodes of a dir


From: Tavian Barnes
Subject: Re: find inodes of a dir
Date: Sat, 15 Aug 2020 12:36:49 -0400

On Sat, 15 Aug 2020 at 11:56, Andrei Enshin via Bug reports for the
GNU find utilities <bug-findutils@gnu.org> wrote:
>
>
> Hello,
>
> I’m trying to identify all hard links pointing to my root directory:
> $ sudo ls -lid /
> 2 drwxr-xr-x 23 root root 4096 Aug 11 20:58 /
>
> The inode number is 2 and count of hard links is 23.
>
> Then I run find:
>
> $ sudo find / -xdev -inum 2 2>/dev/null | wc -l
> 15

You can also use

$ find / -xdev -samefile /

> But the `find` finds only 15.

I am surprised you found any, since most systems don't support
directory hard links.  Are you on macOS?

> I checked on two different systems and result of find doesn’t match the 
> number of hardlinks.

Note that directory link counts usually equal 2 + the number of
subdirectories, essentially treating each child's '..' dirent as if it
were a link to the parent.  See e.g.
https://unix.stackexchange.com/a/101536/56202 for more info.

> In detailed out — https://pastebin.com/raw/JH6hW7n6 — you can see that -xdev 
> option seems to be ignored since /dev is counted.

-xdev will process mount points but nothing below them.  A future
POSIX version will specify that -mount should skip mount points
entirely: http://austingroupbugs.net/view.php?id=1133.

> But it is still doesn’t explain why the number is 15 — less than 23.
>
> May I ask for help to find all hard links to the directory  within one 
> filesystems using `find`?
>
>
> ---
> Best Regards,
> Andrei Enshin

-- 
Tavian Barnes



reply via email to

[Prev in Thread] Current Thread [Next in Thread]