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

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

Какво представляват Inodes в Linux ? Записите в Inode(Inode) са в основата на файловата система на Linux(Linux file system) . Те управляват метаданните за даден файл и са основни части от вътрешната работа на Linux

Каква е структурата на файловата система?(What Is The Structure Of a File System?)

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

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

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

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

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

Какво представляват Inodes в Linux?(What Are Inodes In Linux?)

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

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

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

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

Какво е номерът на Inode?(What Is The Inode Number?)

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

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

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

ls -i

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

Как работят Inodes?(How Do Inodes Work?)

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

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

df -здравей(df -hi)

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

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

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

sudo df -ih

Допълнителни начини за използване на Inodes(Additional Ways Inodes Are Used)

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

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

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

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



About the author

Аз съм софтуерен инженер с над 15 години опит в Microsoft Office и Edge. Също така разработих няколко инструмента, използвани от крайните потребители, като например приложение за проследяване на важни здравни данни и детектор за рансъмуер. Моите умения се състоят в разработването на елегантен код, който работи добре на различни платформи, както и в отличното разбиране на потребителското изживяване.



Related posts