รายการไฟล์ทั้งหมดที่มีหมายเลขไอโหนดเดียวกันหรือไม่


53

ให้บอกว่าเมื่อฉันทำls -liในไดเรกทอรีฉันได้รับนี้

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

ดังที่แสดงผลไฟล์fun.txtมี6ฮาร์ดลิงก์ และจำนวน inode คือ12353538

ในกรณีนี้ฉันจะหาฮาร์ดลิงก์ทั้งหมดสำหรับไฟล์เช่นไฟล์ที่มีหมายเลขไอโหนดเดียวกันได้อย่างไร

คำตอบ:


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

3
@ TheoneManis ฉันเพิ่งสังเกตเห็นว่าส่วนอื่น ๆ ของการโทรหาไม่จำเป็น findฉลาดพอที่จะใช้มันโดยปริยาย โดยปกติคุณจะต้องให้findเส้นทางการค้นหาและต้องบอกว่าจะไม่ออกจากระบบไฟล์เหล่านี้ (ผ่าน symlink หรือจุดเชื่อมต่อ) แต่เมื่อค้นหาฮาร์ดลิงก์มันชัดเจนว่าระบบไฟล์ใดที่จะค้นหา
Hauke ​​Laging

6
Hauke ​​นั้นขึ้นอยู่กับรุ่นของการค้นหาที่คุณใช้ รุ่น GNU อาจทำเช่นนั้น แต่ BSD ไม่มีและสิ่งนี้จะไม่ทำงานตามที่เป็นบน Mac
Alan Shutko

3
คุณอาจต้องการเพิ่ม-xdevเพื่อหลีกเลี่ยงการลงไปในไดเรกทอรีในระบบไฟล์อื่น ๆ มิฉะนั้นคุณอาจพบไฟล์อื่นที่มีหมายเลขไอโหนดเดียวกันอยู่ในระบบไฟล์อื่น
mmoya

ใกล้เคียงกับ-samefileใน HP-UX คือ-linkedto(แม้ว่ามันจะแตกต่างกันเล็กน้อย: เส้นทางการค้นหาจะต้องระบุเช่น)
นิค

3
โปรดทราบว่าหากคุณไม่ได้อยู่ในรูทของจุดเมานท์การค้นหาจะสำรวจเฉพาะโฟลเดอร์ย่อยของโฟลเดอร์ปัจจุบัน ดังนั้นคุณควรพูดบางอย่างเช่นfind /mount/point -samefile /mount/point/your/file
Calimo

52

หากคุณมีหมายเลขไอโหนดอยู่แล้วคุณสามารถใช้-inumตัวเลือกของ find :

find -inum 12353538

11
find /mount/point -inum 12353538อย่าลืมให้ซีดีไปยังรากของระบบไฟล์หรือระบุว่าเป็นเส้นทางที่จะหาเช่น มิฉะนั้นการค้นหาจะดูเฉพาะในโฟลเดอร์ปัจจุบันด้านล่าง
Calimo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.