GNU/Linux >> Belajar Linux >  >> Linux

Mengapa membuat tautan seperti ini:ln -nsf?

Dari halaman manual BSD:

 -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 opsi (bersama dengan -f ) memaksa ln untuk memperbarui tautan simbolis ke direktori. apa artinya?

misalkan Anda memiliki 2 direktori

  • foo
  • bilah

dan tautan simbolis yang sudah ada

  • baz -> bar

sekarang Anda ingin memperbarui baz untuk menunjuk ke foo alih-alih. jika Anda hanya melakukannya

ln -sf foo baz

Anda akan mendapatkan

  • baz/foo -> foo
  • baz -> bilah (tidak berubah), dan dengan demikian
  • bar/foo -> foo

jika Anda menambahkan -n

ln -sfn foo baz

Anda mendapatkan apa yang Anda inginkan.

  • baz -> foo

itulah yang dimaksud dengan 'no-dereference':jangan selesaikan tautan yang ada dan tempatkan tautan baru di dalam direktori itu, melainkan perbarui saja.


Ini semua opsi untuk ln. Anda akan menemukan -n dan -f di sini.

 -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. Mengapa Tidak 'menemukan' Tampilkan File Ini??

  2. Cara membuat tautan ke direktori

  3. Mengapa saya tidak bisa menghapus file ini sebagai root?

  1. Cara Membuat Tautan Keras dan Simbolik di Linux

  2. Membuat Tautan Keras Direktori Secara Paksa?

  3. mengapa gdb tidak menyukai alias

  1. Mengapa pipa shell ini keluar?

  2. Mengapa membuat banyak partisi?

  3. Mengapa tautan simbolik saya tidak berfungsi?