GNU/Linux >> Linux の 問題 >  >> Linux

このようなリンクを作成する理由:ln -nsf?

BSD の man ページから:

 -f    If the target file already exists, then unlink it so that the link
           may occur.  (The -f option overrides any previous -i options.)

 -n    If the target_file or target_dir is a symbolic link, do not follow
           it.  This is most useful with the -f option, to replace a symlink
           which may point to a directory.

-n オプション (-f と一緒に) ) ln を強制します ディレクトリへのシンボリックリンクを更新します。どういう意味ですか?

2 つのディレクトリがあるとします

  • ふー
  • バー

および既存のシンボリック リンク

  • バズ -> バー

baz を更新したい foo を指す 代わりは。そうすれば

ln -sf foo baz

  • baz/foo -> foo
  • baz -> bar (変更なし)、したがって
  • bar/foo -> foo

-n を追加すると

ln -sfn foo baz

あなたはあなたが望むものを手に入れます。

  • バズ -> フー

これが「逆参照なし」の意味です。既存のリンクを解決せず、そのディレクトリ内に新しいリンクを配置するのではなく、単に更新するだけです。


ln のすべてのオプションは次のとおりです。ここに -n と -f があります。

 -F    If the target file already exists and is a directory, then remove
       it so that the link may occur.
       The -F option should be used with either -f or -i options.  If
       none is specified, -f is implied.
       The -F option is a no-op unless -s option is specified.

 -h    If the target_file or target_dir is a symbolic link, do not
       follow it.  This is most useful with the -f option, to replace 
       a symlink which may point to a directory.

 -f    If the target file already exists, then unlink it so that the
       link may occur.  (The -f option overrides any previous -i options.)

 -i    Cause ln to write a prompt to standard error if the target file
       exists.  If the response from the standard input begins with the
       character `y' or `Y', then unlink the target file so that the link
       may occur.  Otherwise, do not attempt the link.  (The -i option
       overrides any previous -f options.)

 -n    Same as -h, for compatibility with other ln implementations.

 -s    Create a symbolic link.

 -v    Cause ln to be verbose, showing files as they are processed.

Linux
  1. Linuxでハードリンクとシンボリックリンクを作成する方法

  2. 多くのパーティションを作成する理由

  3. Vim が改行を追加するのはなぜですか?これはコンベンションですか?

  1. ディレクトリへのリンクを作成する方法

  2. このファイルを root として削除できないのはなぜですか?

  3. なぜgdbはエイリアスを好まないのですか

  1. このシェル パイプラインが終了するのはなぜですか?

  2. シンボリック リンクが機能しないのはなぜですか?

  3. Linux でこのプロセスを強制終了できないのはなぜですか?