Aynı inode numarasına sahip tüm dosyalar listeleniyor mu?


53

Diyelim ki, ls -libir dizinin içine girdiğimde şunu anlıyorum:

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

Çıkış gösterdiği gibi, dosya fun.txt vardır 6 sabit bağlantıları; ve inode numarası 12353538'dir .

Durum göz önüne alındığında, dosya için tüm hard linkleri nasıl bulabilirim, yani aynı inode numarasına sahip dosyaları?

Yanıtlar:


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

3
@TheoneManis Daha önce bulma çağrısının diğer bölümlerinin gerekli olmadığını farkettim. findonları dolaylı olarak kullanacak kadar akıllıdır. Genellikle findbir arama yolu kullanmanız ve bunun bu dosya sistemlerini terk etmeyeceğini söylemeniz gerekir (sembolik bağlantılar veya bağlama noktaları aracılığıyla). Ancak sert linkler ararken, hangi dosya sisteminde arama yapılacağı açıktır.
Hauke ​​Lager

6
Hauke, bu kullandığın bulma sürümüne bağlı. GNU sürümü bunu yapabilir, ancak BSD olanı yapmaz ve bu Mac'te olduğu gibi çalışmayacaktır.
Alan Shutko

3
-xdevDiğer dosya sistemlerinde dizinlere düşmesini önlemek için eklemek isteyebilirsiniz , aksi halde başka bir dosya sisteminde bulunan aynı inode numarasına sahip başka bir dosya bulabilirsiniz.
mmoya

-samefileHP-UX'te buna eşdeğerdir -linkedto(biraz farklı olmasına rağmen: örneğin bir arama yolu belirtilmelidir).
Nick

3
Bağlama noktanızın kök dizininde değilseniz, bul öğesinin yalnızca geçerli klasörün alt klasörlerini keşfedeceğini unutmayın. Yani gerçekten bir şey gibi demeliyimfind /mount/point -samefile /mount/point/your/file
Calimo

52

Eğer inode numarasına sahipseniz, find'in -inumseçeneğini kullanabilirsiniz :

find -inum 12353538

11
Dosya sisteminin köküne cd yapmayı ya da bulacağınız bir yol olarak belirtmeyi unutmayın find /mount/point -inum 12353538. Aksi takdirde, bul sadece geçerli klasörün altına bakar.
Calimo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.