Trả lời nhanh: Làm cách nào để tìm tất cả các liên kết cứng trong Linux?

Để tìm tất cả các liên kết cứng cùng một lúc, có tìm ra các inode cho tất cả các tệp trên thiết bị, sau đó sử dụng những thứ như sắp xếp và uniq để tìm các bản sao. Thao tác này sẽ liệt kê các tệp trong thư mục hiện tại và thực hiện lệnh ls trên đó.

Bạn có thể tìm kiếm các liên kết cứng đến số inode NUM bằng cách sử dụng ' -inum NUM '. Nếu có bất kỳ điểm gắn kết hệ thống tệp nào bên dưới thư mục mà bạn đang bắt đầu tìm kiếm, hãy sử dụng tùy chọn ' -xdev ' trừ khi bạn cũng đang sử dụng tùy chọn ' -L '.

Windows với hệ thống tệp NTFS có giới hạn 1024 liên kết cứng trên một tập tin.

Làm cách nào để sử dụng tìm trong Linux?

Ví dụ cơ bản

  1. tìm thấy . - đặt tên thisfile.txt. Nếu bạn cần biết cách tìm một tệp trong Linux có tên là tệp này. …
  2. find / home -name * .jpg. Hãy tìm kiếm tất cả. các tệp jpg trong / home và các thư mục bên dưới nó.
  3. tìm thấy . - gõ f -empty. Tìm một tệp trống bên trong thư mục hiện tại.
  4. find / home -user randomperson-mtime 6 -iname “.db”

Bạn có thể kiểm tra xem một tệp có phải là một liên kết tượng trưng với [-L tệp] . Tương tự, bạn có thể kiểm tra xem một tệp có phải là tệp thông thường với [-f tệp] hay không, nhưng trong trường hợp đó, việc kiểm tra được thực hiện sau khi giải quyết các liên kết tượng trưng. liên kết cứng không phải là một loại tệp, chúng chỉ là các tên khác nhau của một tệp (thuộc bất kỳ loại nào).

Lý do các thư mục liên kết cứng là không cho phép là một chút kỹ thuật. Về cơ bản, chúng phá vỡ cấu trúc hệ thống tệp. Nói chung, bạn không nên sử dụng các liên kết cứng. Các liên kết tượng trưng cho phép hầu hết các chức năng giống nhau mà không gây ra sự cố (ví dụ: liên kết mục tiêu ln -s).

Để xem các liên kết tượng trưng trong một thư mục:

  1. Mở một thiết bị đầu cuối và chuyển đến thư mục đó.
  2. Gõ lệnh: ls -la. Điều này sẽ liệt kê dài tất cả các tệp trong thư mục ngay cả khi chúng bị ẩn.
  3. Các tệp bắt đầu bằng l là các tệp liên kết tượng trưng của bạn.

1 Câu trả lời. Mọi thư mục đều có liên kết đến chính nó và thư mục mẹ của nó (đó là lý do tại sao. của một thư mục trống sẽ có số liên kết là 2). Nhưng vì mọi thư mục đều liên kết đến thư mục mẹ của nó, nên bất kỳ thư mục nào có thư mục con sẽ có liên kết từ thư mục con đó.

Nếu bạn tìm thấy hai tệp có các thuộc tính giống hệt nhau nhưng không chắc liệu chúng có được liên kết cứng hay không, sử dụng lệnh ls -i để xem số inode. Các tệp được liên kết cứng với nhau có cùng số inode. Số inode được chia sẻ là 2730074, có nghĩa là các tệp này là dữ liệu giống hệt nhau.

Một liên kết cứng sẽ không bao giờ trỏ đến một tệp đã bị xóa. Một liên kết cứng giống như một con trỏ đến dữ liệu tệp thực tế. Và con trỏ được gọi là "inode" trong thuật ngữ hệ thống tệp. Vì vậy, nói cách khác, tạo một liên kết cứng là tạo một inode khác hoặc một con trỏ đến một tệp.

Như bài đăng này? Hãy chia sẻ đến bạn bè của bạn:
Hệ điều hành ngày nay