Какво е Inode в Linux и как се използва?

Inode е основен компонент на файловите структури на Linux

Всичко в Linux се счита за файл, за да се поддържа последователност. Това включва хардуерни устройства, принтери, директории и процеси. Масовите файлове като музика, текст, видео и друга мултимедия също съдържат допълнителни данни, наречени метаданни.

Какво представляват Inodes в Linux? Записите на Inode са в основата на файловата система Linux. Те управляват метаданните за даден файл и са съществени за функционирането на Linux.

Каква е структурата на файловата система?

Файловата система е разделена на две части – блокове с данни и inode-и. Броят на блоковете е фиксиран и веднъж създаден – не може да бъде променен.

Името, пътят, местоположението, връзките и други файлови атрибути не се намират в директорията. Директориите са просто таблици, които съдържат имената на файловете със съответстващия номер на inode.

Можете да създадете твърда връзка, което води до повече от едно име за един и същ файл. Когато създавате твърда връзка, тя също създава ново име в таблицата с inode, но не премества файла.

Ако трябва да преместите голям файл, това ще отнеме много време. По-ефективно е да създадете записа с име в нова директория и да изтриете стария запис. Можете също да преименувате файлове по същия начин.

Най-горната част на йерархията е самата файлова система. В рамките на файловата система са имената на файловете. Имената на файловете водят към Inode-ите. Inodes се свързват с физическите данни.

Какво представляват Inodes в Linux?

Inode е структура от данни. Той дефинира файл или директория във файловата система и се съхранява в записа на директорията. Inodes сочат към блокове, които съставляват файл. Inode съдържа всички административни данни, необходими за четене на файл. Метаданните на всеки файл се съхраняват в inodes в структура на таблица.

Когато използвате програма, която се позовава на файл по име, системата ще потърси файла за въвеждане на директория там, където съществува, за да изведе съответния inode. Това дава на вашата система файловите данни и информация, необходими за извършване на процеси или операции.

Inode обикновено се намират близо до началото на дяла . Те съхраняват цялата информация, свързана с файл, с изключение на името на файла и действителните данни. Всички файлове във всяка директория на Linux имат име на файл и номер на inode. Потребителите могат да извличат метаданните за файл, като се позовават на номера на inode.

Имената на файловете и номерата на inode се съхраняват в отделен индекс и се свързват с inode. Можете да направите връзка към метаданните, които представляват файла. Възможно е да имате множество имена на файлове, които да се свързват с една част от данни или inode, както можете да видите на изображението по-долу.

Какво е Inode номерът?

Всеки inode в структурата на Linux има уникален номер, с който се идентифицира. Той се нарича още номер на индекса и има следните атрибути:

  • Размер
  • Собственик
  • Време за среща
  • Разрешения и контрол на достъпа
  • Местоположение на диска
  • Типове файлове
  • Брой връзки
  • Допълнителни метаданни за файла

За да проверите списъка с inode номера, използвайте следната команда: ls -i

Екранната снимка по-долу показва директория с номера на inode, които се появяват в крайната лява колона.

Как работят Inode-ите?

Когато създавате нов файл, му се присвоява име на файл и номер на inode. И двете се съхраняват като записи в директория. Изпълнението на командата ls (ls -li ) ще ви покаже списък с имената на файловете и номерата на inode, които се съхраняват в директория.

Използвайте командата по-долу, за да изброите информация за inode за всяка файлова система: df –hi

Колко Inode използвате?

Един от начините да останете без пространство във файловата система е да използвате всичките си inode. Дори ако имате достатъчно свободно място на диска си, няма да можете да създавате нови файлове.

Използването на всички inode също може да доведе до внезапно спиране на вашата система. За да видите списък със статистически данни за използването на inode – колко са използвани, и свободни, вкл. като относителен дял – въведете следната команда: sudo df –ih

Допълнителни начини за използване на Inodes

Начинът на работа на inodes в Linux прави невъзможно наличието на конфликтни номера на inode. Не е възможно да се създаде твърда връзка в различни файлови системи. Можете обаче да използвате меки връзки в различни файлови системи. Можете да изтриете оригиналните файлове и пак да имате данните на разположение чрез твърда връзка.

Като изтриете файл, всичко, което сте направили, е да премахнете едно от имената, сочещо към определен номер на inode. Данните ще останат, докато не изтриете всички имена, свързани с един и същ номер на inode. Linux системите се актуализират, без да се изисква рестартиране на системата в голяма степен поради начина на работа на inodes.

Процесът може да използва библиотечен файл едновременно, друг процес замества същия файл с по-нова актуализирана версия и създава нов inode. Текущият процес продължава да използва стария файл. Следващият път, когато използвате същия процес, той ще използва новата версия.

Потребителите не взаимодействат директно с inodes, но представляват основен компонент на файловите структури на Linux.