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.