Список усіх файлів з однаковим номером inode?


53

Скажімо, коли я роблю ls -liвсередині каталогу, я отримую це:

12353538 -rw-r--r-- 6 me me 1650 2013-01-10 16:33 fun.txt

Як показує результат, файл fun.txt має 6 жорстких посилань; а номер введення - 12353538 .

З огляду на випадок, як я можу знайти всі жорсткі посилання на файл, тобто файли з однаковим номером inode?

Відповіді:


56
find /mount/point -samefile /mount/point/your/file

3
@TheoneManis Я щойно помітив, що інші частини виклику пошуку не потрібні. findдосить розумний, щоб використовувати їх неявно. Зазвичай ви повинні дати findшлях пошуку і сказати йому, що це не повинно залишати ці файлові системи (через символьні посилання або точки монтажу). Але при пошуку жорстких посилань зрозуміло, в якій файловій системі шукати.
Hauke ​​Laging

6
Хоуке, це залежить від версії знахідки, яку ти використовуєш. Версія GNU може це зробити, але BSD - ні, і це не працюватиме так, як є на Mac.
Алан Шутко

3
Ви можете додати, -xdevщоб уникнути потрапляння в каталоги в інших файлових системах, інакше ви можете знайти інший файл з тим же номером inode, що знаходиться в іншій файловій системі.
mmoya

Близький еквівалент -samefileHP-UX є -linkedto(хоча він дещо інший: наприклад, потрібно шукати шлях пошуку).
Нік

3
Зауважте, що якщо ви не знаходитесь у корені точки монтажу, програма пошуку буде досліджувати лише підпапки поточної папки. Тож вам слід сказати щось на кшталтfind /mount/point -samefile /mount/point/your/file
Calimo

52

Якщо у вас вже є номер inode, ви можете скористатися -inumпараметром find :

find -inum 12353538

11
Не забудьте записати компакт-диск до кореня файлової системи або вказати його як шлях до пошуку, наприклад find /mount/point -inum 12353538. Інакше пошук знайдеться лише внизу поточної папки.
Calimo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.