Liệt kê tất cả các tập tin có cùng số inode?


53

Hãy nói rằng, khi tôi làm ls -litrong một thư mục, tôi nhận được điều này:

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

Như đầu ra cho thấy, tệp fun.txt6 liên kết cứng; và số inode là 12353538 .

Với trường hợp này, làm thế nào để tôi tìm thấy tất cả các liên kết cứng cho tệp tức là các tệp có cùng số inode?

Câu trả lời:


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

3
@TheoneManis Tôi chỉ nhận thấy rằng các phần khác của cuộc gọi tìm kiếm là không cần thiết. findlà đủ thông minh để sử dụng chúng ngầm. Thông thường, bạn phải đưa ra findmột đường dẫn tìm kiếm và phải nói với nó rằng sẽ không rời khỏi các hệ thống tệp này (thông qua các liên kết tượng trưng hoặc các điểm gắn kết). Nhưng khi tìm kiếm các liên kết cứng thì rõ ràng hệ thống tập tin nào cần tìm kiếm.
Hauke ​​Laging

6
Hauke, điều đó phụ thuộc vào phiên bản tìm kiếm bạn đang sử dụng. Phiên bản GNU có thể làm điều đó, nhưng phiên bản BSD thì không, và phiên bản này sẽ không hoạt động như trên Mac.
Alan Shutko

3
Bạn có thể muốn thêm -xdevđể tránh giảm dần vào các thư mục trong các hệ thống tệp khác, nếu không bạn có thể tìm thấy một tệp khác có cùng số inode nằm trong hệ thống tệp khác.
mmoya

Gần tương đương với -samefiletrên HP-UX là -linkedto(mặc dù hơi khác một chút: chẳng hạn, một đường dẫn tìm kiếm vẫn phải được chỉ định).
Nick

3
Lưu ý rằng nếu bạn không ở trong gốc của điểm gắn kết, find sẽ chỉ khám phá các thư mục con của thư mục hiện tại. Vì vậy, bạn thực sự nên nói điều gì đó nhưfind /mount/point -samefile /mount/point/your/file
Calimo

52

Nếu bạn đã có số inode, bạn có thể sử dụng -inumtùy chọn find :

find -inum 12353538

11
Đừng quên cd vào thư mục gốc của hệ thống tệp hoặc chỉ định nó làm đường dẫn để tìm, như thế nào find /mount/point -inum 12353538. Nếu không, find sẽ chỉ nhìn vào bên dưới thư mục hiện tại.
Calimo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.