ハードリンクとは異なり、ソフトリンクは実際に元のファイルの情報をHDDに保存することを知りました。 test1(ソースファイル)とtest2(test1へのソフトリンク)を作成し、test1をtest3にmv(名前変更)して、ソフトリンクtest2 - > test1を赤にし、無効にしました。リンクでInode番号を使用しているようですが、test1とtest3のInode番号は同じですが、SoftLinkは動作しません。
質問は次のとおりです。リンクを有効にするには、ソフトリンクにどのような情報が必要ですか?
ベストアンサー1
ソフトリンクとも呼ばれるシンボリックリンク、inodeではなくファイル名でファイルを追跡します。したがって、リンクされたファイルは、同じファイルシステム(ハードリンクとは異なり)だけでなく、どこにでも配置できます。別の特徴は、ソフトリンクが最大限度まで他のソフトリンクを指すことができることである。ソフトリンクは本質的にターゲットパスが格納されている特別なファイルですが、Linuxはこのタイプのファイルを認識し、「内部」パスを読み取り、ターゲットファイルの権限を使用してファイルにアクセスしようとします。プログラムは、リンクをクリックせずにファイル自体に関する情報を提供するようにLinuxに要求できます(これがターゲットパスが何であるls
かを示す方法です)。しかし、ほとんどのプログラムはリンクが指す場所にのみ興味があります。
したがって、あなたの質問に答えるために、ソフトリンクには必要なすべての情報が含まれています。これにより、オペレーティングシステムはトレースリンクが指すすべての操作を完了します。