Linuxのすべては、一貫性を維持するためのファイルと見なされます。これには、ハードウェアデバイス、プリンター、ディレクトリ、およびプロセスが含まれます。音楽、テキスト、ビデオ、その他のマルチメディアファイルなどの通常のファイルにも、メタデータと呼ばれる追加のデータが関連付けられています。
Linuxの(Linux)iノード(Inodes)とは何ですか?iノード(Inode)エントリは、Linuxファイルシステム(Linux file system)の基礎です。これらはファイルに関するメタデータを管理し、 Linux(Linux)の内部動作の重要な部分です。
ファイルシステムの構造は何ですか?(What Is The Structure Of a File System?)
ファイルシステムは、データブロックとiノードの2つの部分に分かれています。ブロック数は一度作成すると固定され、変更することはできません。
名前、パス、場所、リンク、およびその他のファイル属性がディレクトリにありません。ディレクトリは、iノード番号が一致するファイルの名前を含む単なるテーブルです。
同じファイルに複数の名前を付けるハードリンクを作成できます。ハードリンクを作成すると、iノードを使用してテーブルに新しい名前も作成されますが、ファイルは移動されません。
大きなファイルを移動する場合は、時間がかかります。新しいディレクトリに名前エントリを作成し、古いエントリを削除する方が効率的です。同じ方法でファイルの名前を変更することもできます。
階層の最上位はファイルシステム自体です。ファイルシステム内にはファイル名があります。ファイル名はiノードにリンクしています。iノードは物理データにリンクします。
Linuxのiノードとは何ですか?(What Are Inodes In Linux?)
iノードはデータ構造です。ファイルまたはファイルシステム上のディレクトリを定義し、ディレクトリエントリに保存されます。iノードは、ファイルを構成するブロックを指します。iノードには、ファイルの読み取りに必要なすべての管理データが含まれています。すべて(Every)のファイルのメタデータ(metadata)は、テーブル構造のiノードに格納されます。
名前でファイルを参照するプログラムを使用する場合、システムは、対応するiノードをプルアップするために存在するディレクトリエントリファイルを調べます。これにより、プロセスまたは操作を実行するために必要なファイルデータと情報がシステムに提供されます。
iノードは通常、パーティション(beginning of a partition)の先頭近くにあります。これらは、ファイル名と実際のデータを除く、ファイルに関連付けられたすべての情報を格納します。Linuxディレクトリ内のすべてのファイルには、ファイル名とiノード番号があります。ユーザーは、iノード番号を参照することでファイルのメタデータを取得できます。
ファイル(File)名とiノード番号は別のインデックスに保存され、iノードにリンクします。ファイルを表すメタデータにリンクできます。次の画像に示すように、1つのデータまたはiノードにリンクする複数のファイル名を持つことができます。
iノード番号とは何ですか?(What Is The Inode Number?)
Linux構造のすべてのiノードには、一意の番号が付けられています。インデックス番号とも呼ばれ、次の属性があります。
- サイズ
- オーナー
- 日付時刻
- アクセス許可とアクセス制御
- ディスク上の位置
- ファイルタイプ
- リンク数
- ファイルに関する追加のメタデータ
iノード番号のリストを確認するには、次のコマンドを使用します。
ls -i
以下のスクリーンショットは、左端の列にiノード番号が表示されているディレクトリを示しています。
iノードはどのように機能しますか?(How Do Inodes Work?)
新しいファイルを作成すると、ファイル名とiノード番号が割り当てられます。どちらもエントリとしてディレクトリに保存されます。lsコマンド(ls -li)を実行すると、ディレクトリに保存されているファイル名とiノード番号のリストが表示されます。
以下のコマンドを使用して、各ファイルシステムのiノード情報を一覧表示します。
df -hi
いくつのiノードを使用していますか?
ファイルシステムのスペースを使い果たす1つの方法は、すべてのiノードを使い果たすことです。ディスクに十分な空き容量がある場合でも、新しいファイルを作成することはできません。
すべてのiノードを使い切ると、システムが突然停止する可能性もあります。使用済み、空き、使用率などのiノード使用量に関する統計のリストを表示するには、次のコマンドを入力します。
sudo df -ih
iノードが使用される追加の方法(Additional Ways Inodes Are Used)
Linuxでのiノードの動作方法により、iノード番号が競合することは不可能です。異なるファイルシステム間でハードリンクを作成することはできません。ただし、異なるファイルシステム間でソフトリンクを使用できます。元のファイルを削除しても、ハードリンクを介してデータを利用できます。
ファイルを削除することで、特定のiノード番号を指す名前の1つを削除するだけです。同じiノード番号に関連付けられているすべての名前を削除するまで、データは残ります。Linuxシステムは、主にiノードの動作方法により、システムの再起動を必要とせずに更新されます。
プロセスは、ライブラリファイルを同時に使用できます。同時に、別のプロセスが同じファイルを新しい更新バージョンに置き換えて、新しいiノードを作成します。実行中のプロセスは引き続き古いファイルを使用します。次に同じプロセスを使用するときは、新しいバージョンが使用されます。
ユーザーはiノードと直接対話しませんが、Linuxファイル構造の基本的なコンポーネントを表します。
What Are Inodes in Linux and How Are They Used?
Everything in Linux is considered a file to maintain cоnsistency. That includes hardware devices, printers, directories, and procesѕes. Regular files such as musiс, text, videos, and other multimedia files also have additional data associated with them called metadata.
What are Inodes in Linux? Inode entries are the basis of the Linux file system. They manage the metadata about a file and are essential pieces of the inner workings of Linux.
What Is The Structure Of a File System?
A file system is divided into two parts – data blocks and inodes. The number of blocks is fixed once created, and can’t be changed.
The name, path, location, links and other file attributes are not located in the directory. Directories are simply tables that contain the names of the files with the matching inode number.
You can create a hard link resulting in more than one name for the same file. When you create a hard link, it also creates a new name in the table with the inode but doesn’t move the file.
If you were to move a large file, it would take a long time. It’s more efficient to create the name entry in a new directory and delete the old entry. You can also rename files in the same way.
The top part of the hierarchy is the file system itself. Within the file system are the file names. The file names link to the inodes. The inodes link to the physical data.
What Are Inodes In Linux?
An inode is a data structure. It defines a file or a directory on the file system and is stored in the directory entry. Inodes point to blocks that make up a file. The inode contains all the administrative data needed to read a file. Every file’s metadata is stored in inodes in a table structure.
When using a program that refers to a file by name, the system will look in the directory entry file where it exists to pull up the corresponding inode. This gives your system the file data and information it needs to perform processes or operations.
Inodes are usually located near the beginning of a partition. They store all the information associated with a file except the file name and the actual data. All files in any Linux directory have a filename and an inode number. Users can retrieve the metadata for a file by referencing the inode number.
File names and inode numbers are stored in a separate index and link to the inode. You can link to the metadata that represents the file. It is possible to have multiple file names that link to one piece of data or inode as you can see in the image below.
What Is The Inode Number?
Every inode in the Linux structure has a unique number identified with it. It is also called the index number and has the following attributes:
- Size
- Owner
- Date/time
- Permissions and access control
- Location on the disk
- File types
- Number of links
- Additional metadata about the file
To check the list of inode numbers, use the following command:
ls -i
The screenshot below shows a directory with inode numbers appearing in the far-left column.
How Do Inodes Work?
When you create a new file, it is assigned a file name and inode number. Both are stored as entries in a directory. Running the ls command (ls -li) will show you a list of the file names and inode numbers that are stored in a directory.
Use the command below to list inode information for each file system.
df -hi
How Many Inodes Are You Using?
One way to run out of space in a filesystem is to use up all your inodes. Even if you have enough free space on your disk, you won’t be able to create new files.
Using up all the inodes can also result in your system suddenly stopping. To see a list of statistics about inode usage such as used, free, and percentage used, type the following command:
sudo df -ih
Additional Ways Inodes Are Used
The way inodes work in Linux make it impossible to have conflicting inode numbers. It is not possible to create a hard link across different file systems. However, you can use soft links across different file systems. You can delete the original files and still have the data available through a hard link.
By deleting a file, all you have done is remove one of the names pointing to a specific inode number. The data will remain until you delete all names associated with the same inode number. Linux systems update without requiring a system reboot in large part because of the way inodes work.
A process can use a library file at the same time another process replaces the same file with a newer updated version and creates a new inode. The running process keeps using the old file. The next time you use the same process, it will use the new version.
Users don’t interact directly with inodes, but they do represent a fundamental component of Linux file structures.