2つの既存ファイル間のリンクの作成

2つの既存ファイル間のリンクの作成

例: I have filesa.txtと files b.txta.txtからまでのリンクが欲しいですb.txt。ファイルを開いたり読んだりすると、a.txtファイルもb.txt開いたり読んだりする必要があります。このような操作を試みると、ln -s a.txt b.txtファイルがb.txt存在するためエラーが発生します。a.txtからのリンクを作成するにはb.txt

答え1

b.txtまず、コマンドを使用してファイルを削除しrm b.txtてから、コマンドを使用してシンボリックリンクを作成する必要がありますln -s a.txt b.txt

b.txtからまでのハードリンクを使用しa.txtて実行すると、ln a.txt b.txt両方ともハードドライブ上の同じファイルを指し、削除してもa.txt読み取り可能なファイルは削除されません。削除先のファイルを削除するには、シンボリックリンクを使用してください。これによりシンボリックリンクが壊れます。ハードリンクに関する追加情報:b.txta.txtb.txtb.txta.txta.txtb.txthttps://en.wikipedia.org/wiki/Hard_link

答え2

ヘルプが必要な場合は、まずマンページを確認してください。それはあなたに多くの時間を節約します。または本当に忙しいなら、ln --helpシェル

Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form) ....

ヘルプテキストの下にあります。

...
-s, --symbolic  make symbolic links instead of hard links
-f, --force     remove existing destination files
...

my_secret.fileある意味、これはという名前のファイルへのリンクを作成するには、次のmy_secret.linkコマンドを実行する必要があることを意味します。

ln -sf my_secret.file my_secret.link

ls -l my_secret.linkここで作ると。あなたはこのようなものを得るでしょう

lrwxrwxrwx 1 foouser groupbar  7 Jul 13 17:17 my_secret.link -> my_secret.file

「l」はlrwxrwxrwxリンクであることを示す。

編集者:Rahulが最初に攻撃します。

答え3

-fリンクを作成する前に、既存のターゲットファイル(存在する場合)を削除するオプションを使用できます。

ln -sf a.txt b.txt

以下に見つかりましたman ln

[OPTION] 
-f, --force
          remove existing destination files

関連情報