2つの質問があります。1つ目は-sf
オプション用で、2つ目はオプションのより具体的な使用法です-f
。
グーグルで、コマンドln
、オプション-s
、およびの説明を見つけました-f
。
(http://linux.about.com/od/commands/l/blcmdl1_ln.htmからコピー)
-s, --symbolic : make symbolic links instead of hard links
-f, --force : remove existing destination files
これらのオプションは個別に理解しています。しかし、これ-s
と-f
オプションを同時に使用する方法はありますか?-s
リンクファイルの作成に使用され、リンクファイルの-f
削除に使用されます。この状況と、この統合オプションを使用する理由を理解できません。
ln
コマンドの詳細を知るために、いくつかの例を作成しました。
$ touch foo # create sample file
$ ln -s foo bar # make link to file
$ vim bar # check how link file works: foo file opened
$ ln -f bar # remove link file
次のコマンドの前にすべてが正常に動作します
$ ln -s foo foobar
$ ln -f foo # remove original file
-f
オプションの説明により、この最後のコマンドは機能しませんが、機能します!foo
削除されます。
なぜこうなった?
terdonの答えに理由を追加するには...使用法の1つは、手動でライブラリを更新するときです。2つのステップで行う場合-最初にrmで古いリンクを削除し、次にln -sで新しいリンクを作成します-ライブラリは操作間で機能しません... lnコマンドでライブラリが必要な場合、これは大きな問題になります働く。したがって、ln -sfを使用すると、リンクが切断されることなく、古いリンクが新しいリンクに置き換えられます。
—
バードコッペルード
-f
力(--force
)を表します。削除用ではありません!