Linuxは、ハードウェアデバイス、プリンター、ディレクトリ、プロセスなど、すべてのファイルを考慮します。テキスト、音楽、ビデオ、画像、またはマルチメディアファイルはすべて通常のファイルと見なされます。すべての通常のファイルには、タイプ、iノードなどのファイルに関するすべてを説明するファイルに関するメタデータが含まれています。
このチュートリアルでは、Linuxでのiノード番号について説明します。ファイルのiノード番号を見つけるにはどうすればよいですか?ファイルをコピー、移動、または削除すると、iノード番号はどうなりましたか。
Linuxのiノード番号とは
iノードは、Linuxの各ファイルに割り当てられた一意の識別番号です。これは、ファイルのメタデータを含むiノードテーブルと呼ばれるテーブルに格納されます。
iノード番号はインデックス番号とも呼ばれ、任意のファイルの次の属性で構成されます。
- ファイルタイプ(実行可能ファイル、特殊ブロックなど)
- 権限(読み取り、書き込みなど)
- UID(所有者)
- GID(グループ)
- FileSize
- 最後のアクセス、最後の変更、最後のiノード番号の変更を含むタイムスタンプ。
- ファイルの削除時間
- リンクの数(ソフト/ハード)
- ハードディスク上のファイルの場所。
- ファイルに関するその他のメタデータ。
ファイルシステムのiノードを確認する
「-i」を使用すると、ディスク上のiノードの総数を確認できます。 ‘ dfのオプション コマンド。
df -i /dev/sda1
Output: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1536000 138846 1397154 10% /
上記のコマンドは、 / dev / sda1上のiノードの総数を示しています。 ファイルシステム。使用済みおよび無料のiノードに関する詳細も提供します。
各ファイルシステムには、新しいファイルを作成するために使用できる空きiノードが必要です。 iノードがいっぱいの場合、システムは新しいファイルを作成することを許可しません。
ファイルのiノード番号を見つける
-i を使用して、任意のファイルのiノード番号を見つけることができます。 lsコマンドを使用したコマンドラインパラメータ。
ls -il myfile.txt
出力の最初のフィールドは、ファイルのiノード番号です。
Output: 1150561 -rw-r--r-- 1 root root 0 Mar 10 01:06 myfile.txt
findコマンドを使用して、iノード番号でファイルを検索することもできます。例:
find /home/rahul -inum 1150561
/home/rahul/myfile.txt
コピー、移動、削除によるiノードの変更
ファイルシステム上のファイルをコピー、移動、または削除すると、iノード番号はどうなりますか。
- ファイルのコピー: cpは、空きiノード番号を割り当てて、iノードテーブルに新しいエントリを作成します。
### 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 - ファイルの移動または名前の変更: 宛先がソースと同じファイルシステムの場合、iノード番号には影響せず、iノードテーブルのタイムスタンプのみが変更されます。
### 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 - ファイルを削除する: Linuxでファイルを削除すると、リンクカウントが減り、iノード番号が解放されて再利用されます。
Linuxでiノードを解放する方法
iノードの場合はいっぱいです。 iノードを解放するには、ファイルシステムから未使用のファイルを削除する必要があります。ディスク上のiノードを増減するオプションはありません。どのディスクでもファイルシステムの作成中にのみ作成できます。