GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menyalin tautan simbolik?

cp --preserve=links

Dari halaman manual:

   --preserve[=ATTR_LIST]
          preserve  the   specified   attributes   (default:   mode,owner-
          ship,timestamps),  if  possible  additional attributes: context,
          links, xattr, all

Secara pribadi, saya menggunakan cp -av untuk sebagian besar penyalinan berat saya. Dengan begitu, saya dapat mempertahankan semuanya - bahkan secara rekursif - dan melihat hasilnya. Tentu saja, itu hanya preferensi pribadi.

Mengenai mengapa opsi Anda yang lain tidak melakukan apa yang Anda harapkan, -s membuat tautan sebagai gantinya penyalinan dan -L ikuti tautan di sumber untuk menemukan file yang akan disalin alih-alih menyalin tautan itu sendiri.


Seperti yang dikatakan halaman manual, gunakan -P . Pengaturan ini menyatakan:

-P, --no-dereference
       never follow symbolic links in SOURCE

Jika tautan berisi jalur relatif, maka menyalin tautan tidak akan menyesuaikan jalur relatif. Gunakan readlink , dengan sakelar -f untuk mengikuti secara rekursif, untuk mendapatkan jalur absolut dari tautan tersebut. Misalnya:

ln -s $(readlink -f old/dir/oldlink) new/dir/newlink

Jika mempertahankan jalur relatif adalah yang Anda inginkan, daripada opsi -P dari cp , seperti yang dikatakan oleh Ignacio Vazquez-Abrams, itulah yang Anda butuhkan.


Linux
  1. Perilaku cd/bash pada tautan simbolik

  2. Terlalu banyak level tautan simbolik

  3. Bagaimana cara menyalin file secara transaksional?

  1. Cara memperbarui symlink Linux

  2. Cara Membuat Tautan Keras dan Simbolik di Linux

  3. Cara menyalin database MySQL

  1. Bagaimana cara membuat tautan simbolik ke semua file (kelas file) dalam direktori?

  2. Bagaimana cara mengubah kepemilikan dari tautan simbolik?

  3. Menggunakan bendera arsip rsync tanpa menyalin tautan simbolik