Apakah ada cara untuk memaksa cp
(Bash 4.2.5, Ubuntu 12.04) untuk menyalin ke symlink yang menjuntai?
cp a-file path/to/danling/symlink/a-file
cp: not writing through dangling symlink `path/to/danling/symlink/a-file`
cp -f
tampaknya impoten dalam kasus ini dan menghasilkan pesan yang sama.
symbolic-link
cp
Marcus Junius Brutus
sumber
sumber
cp -f
sebagai gantinya?Jawaban:
Buat
cp
hapus file target sebelum menyalin:Dari
man cp
:sumber
Cukup gunakan di
unlink theSymLink
manatheSymLink
symlink yang sebenarnya, lalu coba lagisumber
unlink
memiliki efek yang sama dengan (dan karenanya tidak ada keuntungan dibandingkan dengan) yang lebih umum digunakanrm
. Secara khusus, sepertirm foo
,unlink foo
akan menghapus filefoo
bahkan ketika itu adalah file biasa dan bukan tautan simbolik. Menggunakanunlink
bukannyarm
(ataumv --remove-destination ...
) tidak melindungi terhadap kehilangan data yang tidak disengaja.