команда cp для перезаписи файла назначения, который является символической ссылкой - PullRequest
22 голосов
/ 21 февраля 2012

Есть ли у команды cp возможность перезаписать файл назначения, который является символической ссылкой?

Проблема заключается в следующем:

[dthnguyen@dthnguyen test]$ ls -l
total 8
-rw-rw-r--. 1 dthnguyen dthnguyen 5 Feb 21 09:07 a.txt
lrwxrwxrwx. 1 dthnguyen dthnguyen 7 Feb 21 08:55 b.txt -> ./a.txt
-rw-rw-r--. 1 dthnguyen dthnguyen 5 Feb 21 08:55 c.txt
[dthnguyen@dthnguyen test]$ cp c.txt b.txt

После копирования a.txt содержит содержимое c.txt, b.txt по-прежнему ссылается на a.txt. Ожидаемый результат: a.txt содержит старый контент, b.txt - это новый обычный файл с тем же контентом, что и c.txt.

1 Ответ

33 голосов
/ 21 февраля 2012

Скажите cp, чтобы сначала удалить его.

cp --remove-destination c.txt b.txt
...