Tak to jest poprawne. Możesz zaznaczyć jedną z odpowiedzi jako swoje rozwiązanie.
qroberts,
Odpowiedzi:
115
cp -rf /source/path//destination/path/
-r = rekurencyjny, kopiuje wszystkie podkatalogi
-f = wymuś, jeśli istniejącego pliku docelowego nie można otworzyć, usuń go i spróbuj ponownie
Uwaga Należy zachować ostrożność przy korzystaniu z -fflagi, ponieważ spowoduje ona wymuszenie zastąpienia wszystkiego, co skopiujesz. Dziękuję @Nifle za tę sugestię.
W razie potrzeby możesz użyć symbolu wieloznacznego *, aby skopiować wszystkie pliki z katalogu.
Nie zgadzam się, że powinieneś użyć fflagi. -f if an existing destination file cannot be opened, remove it and try again
Nifle
Osobiście zawsze używam flagi -f. To nie jest dobra praktyka, więc może masz rację.
qroberts,
Jeśli wiesz, co robi i wiesz, co robisz, to jest OK. Ale w tym przypadku z niedoświadczonym użytkownikiem może nie być odpowiednie.
Nifle
@Nifle Tak, rozumiem co mówisz. Tyle, że jeśli go zmusi, szanse na jego działanie są większe niż gdyby tego nie zrobił. Wszystko zależy od tego, co robisz i od tego, co rozumiesz.
qroberts,
Jeśli w odpowiedzi umieścisz notatkę o tym, -fże flaga jest przydatna, jeśli kopiujesz <źródło> nad <test> (jak w przypadku nadpisywania rzeczy w <test>), głosuję za tym i usunę odpowiedź)
Nifle
11
Chociaż cp -Rodpowiedzi są prawidłowe (BTW w przypadku flagi na BSD musi być duża, obie są obsługiwane w systemie Linux), istnieje stara inkantacja dotycząca tar :
$ tar cf -.|(cd DIR; tar xf -)
Dlaczego do cholery miałbyś to zrobić? Ponieważ tar ma dość wyrafinowane rozumienie łączy zarówno twardych, jak i symbolicznych.
Czy chcesz, aby kopia zastąpiła istniejące łącza symboliczne tym, które mają ten sam tekst? Lub z linkami do tego samego celu (dostosowanie ścieżek względnych w celu kompensacji)? Lub z bitowymi kopiami celu?
Jeśli dwa pliki w oryginale są na stałe połączone, czy nowa struktura powinna zawierać dwie kopie danych, czy tylko jedną?
Decyzje, decyzje. Tar ma sensowne wartości domyślne, ale pozwala ci być bardzo konkretnym.
Odpowiedzi:
-r
= rekurencyjny, kopiuje wszystkie podkatalogi-f
= wymuś, jeśli istniejącego pliku docelowego nie można otworzyć, usuń go i spróbuj ponownieUwaga Należy zachować ostrożność przy korzystaniu z
-f
flagi, ponieważ spowoduje ona wymuszenie zastąpienia wszystkiego, co skopiujesz. Dziękuję @Nifle za tę sugestię.W razie potrzeby możesz użyć symbolu wieloznacznego *, aby skopiować wszystkie pliki z katalogu.
źródło
f
flagi.-f if an existing destination file cannot be opened, remove it and try again
-f
że flaga jest przydatna, jeśli kopiujesz <źródło> nad <test> (jak w przypadku nadpisywania rzeczy w <test>), głosuję za tym i usunę odpowiedź)Chociaż
cp -R
odpowiedzi są prawidłowe (BTW w przypadku flagi na BSD musi być duża, obie są obsługiwane w systemie Linux), istnieje stara inkantacja dotycząca tar :Dlaczego do cholery miałbyś to zrobić? Ponieważ tar ma dość wyrafinowane rozumienie łączy zarówno twardych, jak i symbolicznych.
Czy chcesz, aby kopia zastąpiła istniejące łącza symboliczne tym, które mają ten sam tekst? Lub z linkami do tego samego celu (dostosowanie ścieżek względnych w celu kompensacji)? Lub z bitowymi kopiami celu?
Jeśli dwa pliki w oryginale są na stałe połączone, czy nowa struktura powinna zawierać dwie kopie danych, czy tylko jedną?
Decyzje, decyzje. Tar ma sensowne wartości domyślne, ale pozwala ci być bardzo konkretnym.
źródło
lubię
Rsync jest kolejnym dobrym narzędziem do tego
źródło