例: I have filesa.txt
と files b.txt
。a.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.txt
a.txt
b.txt
b.txt
a.txt
a.txt
b.txt
https://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