Computer >> Máy Tính >  >> Hệ thống >> Linux

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Mọi thứ trong Linux được coi là một tệp để duy trì tính nhất quán. Điều đó bao gồm thiết bị phần cứng, máy in, thư mục và quy trình. Các tệp thông thường như nhạc, văn bản, video và các tệp đa phương tiện khác cũng có dữ liệu bổ sung được liên kết với chúng được gọi là siêu dữ liệu.

Inodes trong Linux là gì? Các mục nhập Inode là cơ sở của hệ thống tệp Linux. Chúng quản lý siêu dữ liệu về một tệp và là những phần thiết yếu của hoạt động bên trong của Linux.

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Cấu trúc của hệ thống tệp là gì?

Hệ thống tệp được chia thành hai phần - khối dữ liệu và inode. Số lượng khối được cố định sau khi tạo và không thể thay đổi.

Tên, đường dẫn, vị trí, liên kết và các thuộc tính tệp khác không nằm trong thư mục. Thư mục chỉ đơn giản là các bảng chứa tên của các tệp có số inode phù hợp.

Bạn có thể tạo một liên kết cứng dẫn đến nhiều hơn một tên cho cùng một tệp. Khi bạn tạo một liên kết cứng, nó cũng tạo ra một tên mới trong bảng với inode nhưng không di chuyển tệp.

Nếu bạn phải di chuyển một tệp lớn, sẽ mất nhiều thời gian. Sẽ hiệu quả hơn nếu tạo mục nhập tên trong thư mục mới và xóa mục nhập cũ. Bạn cũng có thể đổi tên tệp theo cách tương tự.

Phần trên cùng của hệ thống phân cấp là chính hệ thống tệp. Trong hệ thống tệp là các tên tệp. Tên tệp liên kết đến các inodes. Liên kết inodes đến dữ liệu vật lý.

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Inodes trong Linux là gì?

Một inode là một cấu trúc dữ liệu. Nó định nghĩa một tệp hoặc một thư mục trên hệ thống tệp và được lưu trữ trong mục nhập thư mục. Inodes trỏ đến các khối tạo nên một tệp. Inode chứa tất cả dữ liệu quản trị cần thiết để đọc một tệp. Siêu dữ liệu của mọi tệp được lưu trữ trong inodes trong cấu trúc bảng.

Khi sử dụng một chương trình đề cập đến một tệp theo tên, hệ thống sẽ tìm trong tệp mục nhập thư mục nơi nó tồn tại để kéo lên inode tương ứng. Điều này cung cấp cho hệ thống của bạn dữ liệu tệp và thông tin cần thiết để thực hiện các quy trình hoặc hoạt động.

Inodes thường nằm gần phần đầu của một phân vùng. Chúng lưu trữ tất cả thông tin liên quan đến một tệp ngoại trừ tên tệp và dữ liệu thực tế. Tất cả các tệp trong bất kỳ thư mục Linux nào đều có tên tệp và số inode. Người dùng có thể truy xuất siêu dữ liệu cho tệp bằng cách tham chiếu số inode.

Tên tệp và số inode được lưu trữ trong một chỉ mục riêng biệt và liên kết đến inode. Bạn có thể liên kết đến siêu dữ liệu đại diện cho tệp. Có thể có nhiều tên tệp liên kết đến một phần dữ liệu hoặc inode như bạn có thể thấy trong hình ảnh bên dưới.

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Số Inode là gì?

Mỗi inode trong cấu trúc Linux có một số duy nhất được xác định với nó. Nó còn được gọi là số chỉ mục và có các thuộc tính sau:

  • Kích thước
  • Chủ sở hữu
  • Ngày / giờ
  • Quyền và kiểm soát truy cập
  • Vị trí trên đĩa
  • Các loại tệp
  • Số lượng liên kết
  • Siêu dữ liệu bổ sung về tệp

Để kiểm tra danh sách các số inode, hãy sử dụng lệnh sau:

ls -i

Ảnh chụp màn hình bên dưới hiển thị một thư mục có số inode xuất hiện ở cột ngoài cùng bên trái.

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Inodes hoạt động như thế nào?

Khi bạn tạo một tệp mới, nó sẽ được gán một tên tệp và số inode. Cả hai đều được lưu trữ dưới dạng các mục nhập trong một thư mục. Chạy lệnh ls (ls -li ) sẽ hiển thị cho bạn danh sách tên tệp và số inode được lưu trữ trong một thư mục.

Sử dụng lệnh bên dưới để liệt kê thông tin inode cho từng hệ thống tệp.

df -hi

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Bạn đang sử dụng bao nhiêu Inodes?

Một cách để hết dung lượng trong hệ thống tệp là sử dụng hết các inodes của bạn. Ngay cả khi bạn có đủ dung lượng trống trên đĩa, bạn sẽ không thể tạo tệp mới.

Việc sử dụng hết tất cả các inodes cũng có thể dẫn đến hệ thống của bạn đột ngột dừng lại. Để xem danh sách thống kê về việc sử dụng inode, chẳng hạn như đã sử dụng, miễn phí và tỷ lệ phần trăm được sử dụng, hãy nhập lệnh sau:

sudo df -ih

Inodes trong Linux là gì và chúng được sử dụng như thế nào?

Các cách bổ sung được sử dụng nút

Cách thức hoạt động của các inode trong Linux khiến không thể có các số inode xung đột. Không thể tạo liên kết cứng giữa các hệ thống tệp khác nhau. Tuy nhiên, bạn có thể sử dụng các liên kết mềm trên các hệ thống tệp khác nhau. Bạn có thể xóa các tệp gốc mà vẫn có dữ liệu thông qua một liên kết cứng.

Bằng cách xóa một tệp, tất cả những gì bạn đã làm là xóa một trong những tên trỏ đến một số inode cụ thể. Dữ liệu sẽ vẫn còn cho đến khi bạn xóa tất cả các tên được liên kết với cùng một số inode. Hệ thống Linux cập nhật mà không yêu cầu khởi động lại hệ thống một phần lớn là do cách thức hoạt động của inodes.

Một quy trình có thể sử dụng tệp thư viện cùng lúc một quy trình khác thay thế tệp đó bằng một phiên bản cập nhật mới hơn và tạo một inode mới. Quá trình đang chạy tiếp tục sử dụng tệp cũ. Lần tiếp theo bạn sử dụng quy trình tương tự, quy trình đó sẽ sử dụng phiên bản mới.

Người dùng không tương tác trực tiếp với inodes, nhưng chúng đại diện cho một thành phần cơ bản của cấu trúc tệp Linux.