壊れたシンボリックリンクを編集すると、以前に削除されたターゲットファイルに再リンクされます。

壊れたシンボリックリンクを編集すると、以前に削除されたターゲットファイルに再リンクされます。

file4.txt最初にターゲットファイル()にリンクされたシンボリックリンクがありますfile3.txt。ターゲットファイルを削除すると、下の画像のように期待どおりにシンボリックリンクが壊れていました。

ここに画像の説明を入力してください。

しかし、壊れたリンクに書き換えようとすると、リンクは同じ名前の宛先ファイル(私の場合はfile3.txt)に再接続され、内容がすべてコピーされます(下の画像を参照)。 ここに画像の説明を入力してください。

私はLinuxに初めてアクセスし、なぜこれが起こるのかを理解しようとしています。削除されたファイルが再生成され、以前に破損した同じシンボリックリンクに再接続される理由。よろしくお願いします!

答え1

シンボリックリンク自体に対して機能しないツールの場合は、then(pathname)へのシンボリックリンクの場合はfile4.txt(pathname)と見なされます。バラよりfile3.txtfile4.txtfile3.txtパス名の確認

これはあなたが意図したとおりに行われたcat > file4.txtことcat > file3.txtを意味します。file3.txtこれらのコマンドは、まだ存在しない場合は生成を試みます。新しいファイル(ファイル)は、新しいファイルがあり、古いファイルに(パス名)としてアクセスできることを除いて、古いfile3.txt(削除された)(ファイル)とは関係ありません。file3.txtfile3.txt

すべてのシンボリックリンクは、パスを内部的にテキストとして保存し、パスを指します。これはファイルやinodeを直接指すことはなく、取られたかどうかにかかわらず、ディレクトリツリーで意味のあるいくつかのパスを指します。または。あなたの場合、file3.txtシンボリックリンクは再生成されると有効になります。新しいファイルは古いファイルではありませんが、同じパス名でアクセスできます。これはシンボリックリンクにとって重要です。 thenというディレクトリを作成すると、file3.txtそれからシンボリックリンクはそのディレクトリを指します。

関連情報