ハードリンク
ファイルが与えられると、original.txt
ハードリンクはhardlink.txt
同じ inode を指し、original.txt
削除されても存在し続けます。
シンボリックリンク
fileが与えられると、original.txt
シンボリックリンクはsymlink.txt
そのファイル名を指します。
質問:どちらが速く、どちらが小さいですか?
私の直感では、ハードリンクが元のファイルと区別できないため、より高速になると思います。しかし、すべてはシンボリックリンクの速度に依存します。
また、どちらがハードドライブのスペースを占有しませんか?
次の質問のような測定ベースの答えを見たいです。これサイズと速度については簡単に言及しましたが、詳細には言及していません。
ベストアンサー1
シンボリックリンクは、リンクされたファイルへのパスを含む新しいファイルを作成します。したがって、ターゲットファイル(リンクが指すファイル)のパス(相対または絶対)サイズに似た実際の新しいファイルを作成します。
ハードリンクは、ディレクトリに新しいエントリ(つまり、ディレクトリのinode / nameペアを実際に含む特別なファイル)を作成するだけで、新しいエントリは作成されません。特定のディレクトリがすでに「いっぱい」であるinode / name - ペアテーブルリンクエントリのスペースを確保するには、これを増やす必要があります(たとえば、1024から2048 KB)。
システムは2つのファイル、つまりリンクと実際のファイルを読み取る必要があるため、シンボリックリンクが長くかかるように見えます。 。物理ディスク。ハードリンクは実際のファイルのみを読み取ります。すべてのハードリンクは「同じように生成」され、一度作成されると、どのリンクが最初に出るかは問題ではありません(どのリンクが「ソース」であり、どちらが「宛先」か)。