cp: nie można zastąpić katalogu innym niż katalog

1

Uruchomienie polecenia kopiowania jako sudo cp -v -r -f source destinationdla kilku katalogów i plików powoduje wyświetlenie błędu jako cp: cannot overwrite directory with non-directory.

użytkownik986448
źródło
Komunikat o błędzie wydaje się dość wyraźny. Czy możesz bardziej szczegółowo opisać swój problem?
Blackwood

Odpowiedzi:

2

PRZYPADEK 1 Ten błąd pojawia się, gdy próbujesz skopiować plik (źródło) o tej samej nazwie katalogu (miejsce docelowe).

PRZYPADEK 2 Ten błąd występuje podczas próby skopiowania dowiązania symbolicznego (źródła) do katalogu (miejsca docelowego), w którym znajduje się już obiekt o tej samej nazwie.

ROZWIĄZANIA

Użyj rsync . Zobacz także następujące opcje dotyczące dowiązań symbolicznych

-l, --links kopiuje dowiązania symboliczne jako dowiązania symboliczne

-L, --copy-links przekształca dowiązanie symboliczne w plik referencyjny / reż

--copy-unsafe-links Transformowane są tylko „niebezpieczne” dowiązania symboliczne

--safe-links ignoruje dowiązania symboliczne wskazujące na zewnątrz drzewa

-k, --copy-dirlinks przekształcają dowiązanie symboliczne w katalog w katalog referencyjny

-K, --keep-dirlinks traktuje dowiązanie symboliczne na odbiorniku jako reż

W przeciwnym razie: ręcznie usuń obiekt ze ścieżki docelowej (lub przenieś lub zmień nazwę), a następnie skopiuj obiekt ze ścieżki źródłowej.

Gabriele Martini
źródło