apa itu inode linux

藏色散人
Lepaskan: 2023-04-20 10:18:21
asal
2767 orang telah melayarinya

Inode Linux ialah perihalan ciri yang digunakan untuk mengenal pasti fail dalam sistem pengendalian sistem Linux memberikan nombor inod kepada setiap fail, dan nombor ini merekodkan beberapa maklumat meta yang berkaitan dengan fail ini Boleh digunakan untuk mengenal pasti fail secara unik.

apa itu inode linux

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

Apakah itu inode linux?

Sebelum kita memahami inod pada sistem pengendalian Linux, mari kita bincangkan dahulu tentang fail pada sistem pengendalian Linux. Untuk sistem pengendalian Linux, [semuanya adalah fail]. Fail tidak boleh wujud secara bebas daripada media storan (di sini merujuk kepada cakera fizikal, memori, memori kilat, dsb. Fail pada semua sistem pengendalian berurusan dengan media storan sepanjang masa).

Sebagai contoh, apabila membaca fail, fail perlu dimuatkan daripada cakera ke dalam memori Apabila operasi fail selesai, fail akan disimpan ke cakera. Nah, kerana fail akan disimpan pada cakera, dan cakera mempunyai had kapasiti, ini bermakna bilangan fail fizikal yang boleh disimpan pada cakera adalah terhad.

Jika anda telah memahami sudut pandangan ini, maka tahniah, anda secara amnya tahu apa yang dilakukan oleh inode.

Ya, inode ialah perihalan ciri bagi fail yang digunakan untuk mengenal pasti sistem pengendalian, dan bilangan inod pada sistem pengendalian biasanya, bilangan inod pada sistem telah ditentukan selepas anda pasang sistem pengendalian ke bawah (namun, anda boleh mengubah suai bilangan inod secara dinamik).

Anda boleh menanyakan bilangan inod pada sistem melalui sysctl -a.

[root@server ~]# sysctl -a | grep inode
fs.inode-nr = 70212 21785
Salin selepas log masuk

Seperti di atas, 70212 dalam fs.inode-nr mengenal pasti bilangan inod yang diperuntukkan oleh sistem pengendalian semasa 21785 mewakili bilangan inod percuma yang tinggal dalam sistem pengendalian sebelumnya

Hanya berkata, inode adalah ciri yang digunakan untuk mengenal pasti fail Mengapa ini?

Sistem Linux memberikan nombor inod kepada setiap fail Nombor ini merekodkan beberapa maklumat meta yang berkaitan dengan fail ini boleh digunakan untuk mengenal pasti fail secara unik.

Anda boleh melihat nombor inod mana-mana fail melalui ls -i

[root@server ~]# ls -i logrotate.man
8986710 logrotate.man
Salin selepas log masuk

Untuk melihat maklumat meta fail, anda perlu menggunakan stat {filename}

[root@server ~]# stat logrotate.man
  文件:"logrotate.man"
  大小:18033      块:40         IO 块:4096   普通文件
设备:fd00h/64768d Inode:8986710     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-11-25 03:20:39.497330998 -0500
最近更改:2021-11-24 04:38:17.781399647 -0500
最近改动:2021-11-24 04:38:17.797398907 -0500
创建时间:-
Salin selepas log masuk

Seperti di atas, ia adalah maklumat inod fail. Ini termasuk:

  • Saiz: 18033: Bilangan bait dalam fail. Ruang cakera yang diduduki oleh fail ini ialah 18033 Bytes

  • Blok: 40: blok terpakai (blok data). Fail ini menggunakan 40 blok fizikal

  • Kebenaran: (0644/-rw-r--r--) Uid: (0/ root) Gid: (0/ root): Kebenaran fail dan maklumat kumpulan. Fail ini ialah fail biasa dengan kebenaran 0644. Kedua-dua pengguna dan kumpulan adalah akar

  • Lawatan terakhir: 2021-11-25 03:20:39.497330998 -0500: iaitu, atime ( kali terakhir Masa apabila fail itu diakses)

  • Perubahan terakhir: 2021-11-24 04:38:17.781399647 -0500: iaitu mtime (masa fail terakhir diubah suai)

  • Perubahan terkini: 24-11-2021 04:38:17.797398907 -0500: ctime (masa fail (kebenaran, pemilikan kumpulan) kali terakhir ditukar)

Sebenarnya, baru sahaja lulus stat logrotate.man juga menyertakan pautan keras medan: 1.

Mengapa pautan keras muncul dalam maklumat inod?

Secara amnya, satu fail sepadan dengan satu inod dalam sistem pengendalian, tetapi peraturan ini tidak terpakai pada fail pautan keras. Kerana pada sistem pengendalian Linux, berbilang fail dibenarkan untuk menunjuk ke nombor inod yang sama.

Dalam senario pautan keras, anda boleh menggunakan nama fail yang berbeza untuk mengakses kandungan fail yang sama dan pengubahsuaian pada kandungan fail, atribut, dsb. akan dihantar ke fail lain. Walau bagaimanapun, pemadaman fail yang dipautkan tidak menjejaskan akses kepada fail lain.

Sebagai contoh, cipta fail pautan keras logrotate.man

[root@server ~]# ln logrotate.man logrotate.man.1
[root@server ~]# ls -i logrotate.man*
8986710 logrotate.man  8986710 logrotate.man.1
# 可以看到,建立了硬链接的文件共用了同一个 inode 编号
[root@server ~]# stat logrotate.man
  文件:"logrotate.man"
  大小:18033      块:40         IO 块:4096   普通文件
设备:fd00h/64768d Inode:8986710     硬链接:2
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-11-25 03:20:39.497330998 -0500
最近更改:2021-11-24 04:38:17.781399647 -0500
最近改动:2021-12-05 01:22:05.716611059 -0500
创建时间:-
Salin selepas log masuk

Selepas mewujudkan pautan keras, anda boleh melihat melalui statistik bahawa bilangan pautan keras telah menjadi 2.

Pada masa ini kami memadamkan fail pautan asal dan melihat kandungan fail yang dipautkan

[root@server ~]# rm -rf logrotate.man
[root@server ~]# tail -n 1 logrotate.man.1
Linux                                 Wed Nov 5 2002                                                                                                                 LOGROTATE(8)
[root@server ~]# stat logrotate.man.1
  文件:"logrotate.man.1"
  大小:18033      块:40         IO 块:4096   普通文件
设备:fd00h/64768d Inode:8986710     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-12-05 01:25:50.701384256 -0500
最近更改:2021-11-24 04:38:17.781399647 -0500
最近改动:2021-12-05 01:25:41.544800473 -0500
创建时间:-
Salin selepas log masuk

Selepas memadamkan fail asal pautan keras, kami berjaya membaca kandungan fail terpaut Pada masa ini, bilangan pautan keras menjadi 1 lagi.

Sebab mengapa ini berlaku ialah pautan keras sebenarnya menambah indeks pada fail, yang menunjuk ke nombor inod fail. Apabila bilangan pautan keras lebih daripada 1, ini bermakna fail tersebut mempunyai berbilang pautan keras sebagai tambahan kepada pautan itu sendiri. Apabila bilangan pautan keras bersamaan dengan 0, sistem pengendalian tidak lagi mempunyai sebarang fail yang menunjuk ke inod, iaitu, sistem pengendalian akan mengitar semula inod.

Malah, setiap kali fail dipadamkan, bilangan pautan keras ke fail itu berkurangan satu. Apabila bilangan pautan keras dalam fail mencapai 0, fail tersebut akan dikosongkan sepenuhnya oleh sistem pengendalian.

Akhirnya, dalam keadaan biasa, bilangan inod yang diperuntukkan oleh sistem pengendalian adalah mencukupi sepenuhnya, tetapi sesetengah program atau kemalangan manusia boleh menyebabkan limpahan inod sistem pengendalian Anda boleh menyemak sistem melalui df -ih Penggunaan inod di bawah partition boleh digunakan untuk mengambil langkah tindak balas yang tepat pada masanya.

[root@server ~]# df -ih
文件系统                Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                 121K     390    121K       1% /dev
tmpfs                    124K       1    124K       1% /dev/shm
tmpfs                    124K     522    124K       1% /run
tmpfs                    124K      16    124K       1% /sys/fs/cgroup
/dev/mapper/centos-root  4.0M    129K    3.9M       4% /
/dev/vda1                512K     332    512K       1% /boot
tmpfs                    124K       1    124K       1% /run/user/0
Salin selepas log masuk

Pembelajaran yang disyorkan: "tutorial video linux"

Atas ialah kandungan terperinci apa itu inode linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan