iノード Linuxでは、ファイルに関するメタデータを格納するデータ構造です。 iノードはインデックスノードの略です。
ファイルに関する次の情報が含まれています:
- ファイルのユーザーID
- ファイルのグループID
- デバイスID
- ファイルサイズ
- 作成日
- 許可
- ファイルの所有者
- ファイル保護フラグ
- ハードリンクの数を決定するためのリンクカウンター
Linuxは、データをブロックの形式でメモリに格納します。ファイルのiノードには、ファイルが保存されているすべてのブロックのリストが含まれています。一方、ディレクトリのiノードには、ファイルとディレクトリのそれぞれのiノードへのマッピングが含まれています。
Linuxシステムは、名前ではなくiノード番号でファイルを内部的に識別します。そのため、iノードにはファイルの名前が含まれていません。これは、異なるファイル名のファイルが同じiノードを指す可能性があるため、複数のハードリンクを維持するのにも役立ちます。ファイルのシンボリック名は、iノードではなく、囲んでいるディレクトリに保存されます。
iノード統計の表示
システム上のiノードの総数は制限されており、次のコマンドを使用してアクセスできます。
$ df -i
この表は、さまざまなファイルシステムのiノードの使用法を示しています。 IFree は、自由に使用できるiノードの数です。 IUsed 使用中のiノードの数です。
lsコマンドでiノードを見つける
「-i」フラグを指定してlsを実行すると、lsコマンド出力とともにiノード番号を取得できます。
ls -i
各ファイル名の前の番号は、そのファイルのiノード番号を示します。 iノードはテーブルに一緒に格納され、iノード番号はその特定のiノードが格納されるインデックスです。
iノードはファイルの作成時に割り当てられます。テーブルからの最初の空きiノードは、作成中のファイルに割り当てられるように上書きされます。
ファイル統計の表示
ファイルまたはディレクトリの統計は、コマンド:
を使用して表示できます。$ stat [file_name]
ここで、「example.txt」はテキストファイルであり、「test」はディレクトリです。 statコマンドは、ファイルに割り当てられたメモリブロックの数、iノードの数、リンクの数、およびアクセス許可を表示します。
結論
Linuxのiノードは、ファイルとディレクトリのメタデータを格納するために使用されます。ユーザーはiノードを直接操作しません。 iノードは、ファイルを識別して操作を実行するためにLinuxファイルシステムによって使用されます。このガイドがiノードをよりよく理解するのに役立つことを願っています。他に質問がある場合は、コメントにドロップしてください!