Linux považuje vše za soubor, včetně hardwarových zařízení, tiskáren, adresářů a procesů. Jakýkoli text, hudba, video, obrázek nebo multimediální soubor je považován za běžný soubor. Všechny běžné soubory obsahují metadata o souboru, která popisují vše o souboru, jako je typ, Inode atd.
V tomto tutoriálu probereme číslo inodu v Linuxu. Jak zjistíme číslo inodu souboru? Co se stalo s číslem inodu, když zkopírujeme, přesuneme nebo odstraníme soubor.
Co je číslo inodu v Linuxu
Inode je jedinečné identifikační číslo přiřazené každému souboru v Linuxu. Který je uložen v tabulce zvané Inode table, která obsahuje metadata souboru.
Číslo inodu také nazývané indexové číslo, skládá se z následujících atributů libovolného souboru:
- Typy souborů (spustitelný, speciální blok atd.)
- Oprávnění (čtení, zápis atd.)
- UID (vlastník)
- GID (skupina)
- Velikost souboru
- Časová razítka včetně posledního přístupu, poslední úpravy a poslední změny čísla inodu.
- Čas smazání souboru
- Počet odkazů ( měkký/tvrdý )
- Umístění ile na pevném disku.
- Některá další metadata o souboru.
Zkontrolujte inody na souborovém systému
Celkový počet inodů na disku můžete najít pomocí „-i možnost s df příkaz.
df -i /dev/sda1
Output: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1536000 138846 1397154 10% /
Výše uvedený příkaz zobrazuje celkový počet inodů na /dev/sda1 souborový systém. Poskytuje také podrobnosti o použitých a volných inodech.
Každý souborový systém musí mít k dispozici volné inody pro vytvoření nového souboru. Pokud jsou inody plné, systém vám nedovolí vytvořit nový soubor.
Najít číslo Inode souboru
Číslo inodu libovolného souboru můžete najít pomocí -i parametr příkazového řádku pomocí příkazu ls.
ls -il myfile.txt
První pole ve výstupu je číslo inodu souboru.
Output: 1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt
Můžete také vyhledat soubor s číslem inodu pomocí příkazu find. Například:
find /home/rahul -inum 1150561
/home/rahul/myfile.txt
Změny inode pomocí funkce Kopírovat, Přesouvat a Smazat
Co se stane s číslem inodu, když zkopírujete, přesunete nebo smažete soubor v souborovém systému.
- Kopírovat soubor: cp přidělí volné číslo inodu a vytvoří nový záznam v tabulce inodů.
### Check inode of existing file ls -il myfile.txt
1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt### Copy file with new name cp myfile.txt myfile_new.txt
### Check inode number of new file. Its changed ls -il myfile_new.txt
1150562 -rw-r--r-- 1 root root 0 Mar 10 01:09 myfile_new.txt - Přesunout nebo přejmenovat soubor: pokud je cíl stejný souborový systém jako zdrojový, nemá žádný vliv na číslo inodu, pouze změní časová razítka v tabulce inodů.
### Check inode of existing file ls -il myfile.txt
1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt### Moved file to another directory mv myfile.txt /opt/
### Check inode number of moved file. No change in inode ls -il /opt/myfile.txt
1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 /opt/myfile.txt - Smazání souboru: Jakmile smažete soubor v Linuxu, sníží počet odkazů a uvolní číslo inodu pro opětovné použití.
Jak uvolnit inody v Linuxu
V případě inodů jsou plné. Chcete-li uvolnit Inode, musíte ze souborového systému odstranit nepoužívané soubory. Neexistují žádné možnosti pro zvýšení/snížení inodů na disku. Lze jej vytvořit pouze během vytváření systému souborů na libovolném disku.