Czy jest jakiś sposób, aby zmusić cp
(Bash 4.2.5, Ubuntu 12.04) do skopiowania na wiszące dowiązanie symboliczne?
cp a-file path/to/danling/symlink/a-file
cp: not writing through dangling symlink `path/to/danling/symlink/a-file`
cp -f
wydaje się w tym przypadku bezsilny i skutkuje tym samym komunikatem.
symbolic-link
cp
Marcus Junius Brutus
źródło
źródło
cp -f
zamiast tego użyć ?Odpowiedzi:
Dokonaj
cp
usunąć plik docelowy przed kopiowaniem:Od
man cp
:źródło
Po prostu użyj
unlink theSymLink
gdzietheSymLink
jest rzeczywiste dowiązanie symboliczne, a następnie spróbuj ponownieźródło
unlink
ma taki sam efekt jak (a zatem nie ma przewagi w porównaniu do) częściej używanychrm
. W szczególności, jakrm foo
,unlink foo
usunie plik,foo
nawet jeśli jest to zwykły plik, a nie symboliczny link. Używanieunlink
zamiastrm
(lubmv --remove-destination ...
) nie chroni przed przypadkową utratą danych.