ホームページ >運用・保守 >Linuxの運用と保守 >Linux i-node 番号は何を意味しますか?

Linux i-node 番号は何を意味しますか?

WBOY
WBOY転載
2023-05-29 17:19:412049ブラウズ

inode 番号は、Linux システム内のさまざまなファイルを区別するために使用される番号識別子です。 Linux は内部的に、ファイル名ではなく i ノード番号を使用してファイルを識別します。システムにとって、ファイル名は i ノード番号の別名であり、ユーザーがファイルを識別するのに便利です。ファイル名と i ノードの間には 1 対 1 の対応関係があります。番号があり、各 i ノード番号はファイル名に対応します。

1. Linux の i ノード

Linux では、i ノードは i ノードを指します。

Linux では、ファイル検索はファイル名では行われません。実際、ファイルの検索と配置は i ノードを通じて行われます。 i ノードをポインター fip として視覚化できます。ファイルがディスクに保存されるとき、そのファイルは必ずディスクの場所に保存されます。ファイル データはディスクに保存されるため、ファイル データのアドレスがわかっていれば、いつ読み取ってデータを読み込むことができるかが想像できます。ファイルを書き込みます 現時点では、このアドレスを使用してファイルを見つけることができますか?

はい、Linux では、i ノードは実際には次のように考えることができ、i ノードはディスク上のファイル記憶領域を指すアドレスとみなされます。通常、このアドレスを直接使用することはできず、ファイル名を通じて間接的に使用する必要があります。実際、i ノードには、ファイル データ格納領域のアドレス以外にも、ファイル サイズやファイル情報などの多くの情報が含まれています。ただし、i ノードはファイル名を保存しません。ファイル名はディレクトリエントリに保存されます。各ディレクトリ エントリには、ファイル名と i ノードが含まれます。

図を使用して、ディレクトリ エントリ、i ノード、およびファイル データの間の関係を確認できます。

Linux i-node 番号は何を意味しますか?

上の図からわかるように、ディレクトリ エントリにはファイル名と i ノードが含まれています。

同時に、上図では、ディレクトリ項目 A とディレクトリ項目 B の i ノードが同じ記憶領域を指しており、この記憶領域には printf ("ha ")。

つまり、helloA.c と helloB.c の内容は同じです。

iNode 番号

各 i ノードには番号 (つまり i ノード番号) があり、オペレーティング システムはその i ノード番号を使用してさまざまなファイルを識別します。

————Linux は内部的に、ファイル名ではなく i ノード番号を使用してファイルを識別します。システムにとって、ファイル名は i ノード番号の別名であり、ユーザーがファイルを識別するのに便利です。ファイル名と i ノード番号対応関係としては、各inode番号とファイル名が対応している。

inode 番号はシステムによって認識される唯一のコードであり、ファイル名はユーザーの識別のみに使用されます。inode (インデックス ノード) テーブルには、ファイル システム内のすべてのファイルのリストが含まれます。1 つのノード (インデックス)ノード) はテーブル エントリ内にあり、ファイルに関する情報 (メタデータ) が含まれています。

ハードディスク パーティション後の構造:

Linux i-node 番号は何を意味しますか?

  • ユーザーが Linux システム内のファイルにアクセスしようとすると、システムは最初に名前を使用して対応する i ノード番号を検索する; i ノード番号を通じて i ノード情報を取得する; ユーザーが i ノード情報に従ってファイルにアクセスする権限を持っているかどうかを確認する; 持っている場合は、対応するデータ ブロックをポイントしてデータを読み取る; 持っていない場合は、対応するデータ ブロックをポイントしてデータを読み取る戻ります。

ファイルにアクセスするための簡単なプロセス:

Linux i-node 番号は何を意味しますか?

2. Linux ファイル ストレージ

2.1 i ノード数の制限

  • #i ノードもハード ディスク領域を消費するため、フォーマット時に、オペレーティング システムはハード ディスクを自動的に 2 つの領域に分割します。 1 つはファイル データを格納するデータ領域、もう 1 つは i ノードに含まれる情報を格納する i ノード領域です。各 i ノードのサイズは通常 128 バイトまたは 256 バイトです。

  • 通常、単一の i ノードのサイズに注意を払う必要はありませんが、i ノードの合計数に注目する必要があります。フォーマット中に決定されます
    ——なぜフォーカスが必要なのでしょうか? i ノードが使い果たされると、ディスクにまだ空き領域があっても新しいファイルを作成できなくなるため、inode の総数に注意してください というのは、ファイルを作成するときにそれに対応する i ノード番号が必要であり、当然のことながら i ノード ドキュメントがなければ新しいファイルを作成することは不可能だからです。
    df-i」コマンドを実行すると、各ハードディスク パーティションに対応する i ノードの総数と使用されている i ノードの数が表示されます。

Linux i-node 番号は何を意味しますか?

2.2 inode の内容

inode にはファイルのメタ情報が含まれます。次の内容:

  • #ファイルのバイト数

  • ファイルの所有者ユーザー ID

  • ファイルのグループ ID

  • ファイルの読み取り、書き込み、および実行の権限

  • リンクの数、つまり方法多くのファイルがこの i ノードをポイントしています

  • ファイルのタイムスタンプ

  • ##特定のファイルの i ノード情報を表示する 2 つの方法

  • #方法 1: stat [ファイル名]

例: stat aa.txt

Linux i-node 番号は何を意味しますか?

利点: ファイル i ノードの詳細情報を表示できます。

方法 2: ls -i [ファイル名]

Linux i-node 番号は何を意味しますか?

inode 番号のみ表示可能

2.3 Linux システム ファイルの 3 つの主要な時間属性

Linux システム ファイルの 3 つの主要な時間属性 (つまり、inode のタイムスタンプ)

  • ctime (変更時間)
    は最後の # を指します。 ##changeファイルまたはディレクトリの時刻 (attribute)

  • atime (アクセス時間)

    は、最後の
    アクセスを指します。 ファイルまたはディレクトリへの時刻

  • mtime (変更時刻)

    は、最後の
    modification ファイルまたはディレクトリ ( content)

3. inode の特別な機能

inode 番号はファイル名から分離されているため、一部の Unix/Linux システムでは、次の現象が発生します:

  • ファイル名に特殊文字が含まれている場合、ファイルが正常に削除されない場合があります。inode を直接削除するか、inode を削除することもできます。ファイル

  • 移動 または、ファイル名を変更する場合、ファイル名のみが変更され、inode 番号は影響を受けません

  • ファイルを開いた後の場合、システムはファイルを i ノード番号で識別し、ファイル名は考慮しません

  • ファイル データが変更されて保存されると、新しい i ノード番号 (元の i ノード番号) が生成されます。

inode 削除方法 削除ファイル番号:

方法 1 (削除前に必要な情報): find ./ - inum [inode 番号] -exec rm -i {} \ ;

Linux i-node 番号は何を意味しますか?

方法 2 (直接削除): find ./ -inum [inode 番号] -delete

Linux i-node 番号は何を意味しますか?

以上がLinux i-node 番号は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。