私は他のディレクトリ構造内の最初のハードリンクの多くのハードリンクを持つ大規模なディレクトリ構造を持っています。たとえば、dir1
次の構造を使用します。
[dir1]$ tree
.
├── dir_inside
│ ├── file1
│ └── file2
└── other_dir
├── file1
└── file2
ここで、dir2
外部に存在するすべてのファイル(dir1
たとえば、作成前に存在していたファイル)に主に存在するファイルへのハードリンクであるとします。dir1
file1
file2
dir2
dir2
dir1
ハードリンクは一度だけ計算されるため、サイズを計算するときにdir1
このコマンドを使用します。さて、これまでは大丈夫でしたが、一度だけカウントされます。つまり、実際にある最初のハードリンクから計算を開始しないという意味です。だから私たちはサイズと言うことができます。そのディレクトリ構造ではハードリンクが一度だけ計算されるため、サイズにも影響します。ハードリンクについて私が知っているように、ハードリンクは実際に最初に作成されたファイルサイズとファイルサイズは同じではありません。そうですか?ハードリンクが占める物理ディスク容量を見積もるために、別のディレクトリにあるハードリンクファイルのディレクトリサイズを取得する方法の明確な説明を聞きたいです。du -sh dir1
du
dir2
du -sh dir2
2G
dir1
2G
inode
ベストアンサー1
ハードリンクの概念を間違って理解しているようです。
file[name]はinodeへのポインタであり、ハードリンクはまったく同じです。元の文書への参照はありません。
du
ファイルが他のファイルへのハードリンクとして作成されたかどうかを知る方法はありません。du
単一の呼び出しdu
でinodeへの複数のポインタが発生した場合にのみフィルタリングできます。
du -sh dir1 dir2