ハードリンクとソフトリンクは、Linuxで非常に役立つ2つの異なるタイプのリンクです。ここでは、例を挙げて説明しましょう。
ハードリンク:
ハードリンクは、元のファイルと同じiノードを共有します。元のファイルのミラーコピーです。ディレクトリへのリンクを作成できないため、ファイルにのみ役立ちます。コンテンツを元のファイルまたはハードリンクファイルのいずれかに変更すると、両方で変更が発生します。ハードリンクの主な事実は、元のファイルを削除しても削除されないことです。
ソフトリンク:
ソフトリンクはシンボリックリンクとも呼ばれます。元のファイルと同じiノードを共有しません。これは元のファイルへの明確なリンクであるため、元のファイルを削除すると、それも削除されます。ファイルとディレクトリの両方へのリンクを作成できます。
ハードリンクとソフトリンクのキーの違い
ハードリンク | ソフトリンク |
---|---|
元のファイルが削除されても、削除されません。 | 元のファイルが削除されると、そのファイルも削除されます。 |
同じiノード番号を共有します | 異なるiノード番号を共有します |
元のファイルのミラーコピー | 元のファイルへの明確なリンク |
ファイルのみをリンクできます | ファイルとディレクトリの両方をリンクできます |
Linuxでのハードリンクのユースケース
linuxways.txtという名前のファイルを作成し、このファイルへのハードリンクを作成しましょう。
$sudomkdirハードリンク
$cdハードリンク
$ sudo touch linuxways.txt
$ sudo ln linuxways.txt hardlinktest.txt
$ ls -li
hardlinktest.txtとlinuxways.txtの両方のiノード番号は同じです。つまり、393248と同じファイルパーミッション(-rw-r–r–)です。元のファイルを削除しても、ハードリンクファイルは削除されません。
$ sudo rm linuxways.txt
同じ内容のハードリンクファイルがまだ存在します。
$ ls -li
$ cat hardlinktest.txt
元のファイルを削除した後でも、ハードリンクファイルが削除されないことを証明します。ハードリンクファイルを削除する必要がある場合は、次のコマンドを使用して削除する必要があります。
$ sudo rm hardlinkfile.txt
Linuxでのソフトリンクのユースケース
linuxways.txtという名前のファイルを作成し、このファイルへのソフトリンクを作成しましょう。
$ sudo mkdir softlink
$cdソフトリンク
$ sudo touch linuxways.txt
$ sudo ln -s linuxways.txt softlinktest.txt
$ ls -l </ pre>
ここで、iノード番号は元のファイルとソフトリンクファイルで異なり、ファイルのアクセス許可も異なります。元のファイルを削除すると、元のファイルの実際のコピーであるため、ソフトリンクファイルも削除されます。
結論:
これは、シンボリックリンクとも呼ばれるハードリンクとソフトリンクを作成する方法です。それらとそのようなリンクを作成するプロセスとの基本的な違いを今すぐ理解する必要があります。ありがとうございます!
Ubuntu