Chcę skopiować katalog z jednego miejsca do drugiego za pomocą wiersza polecenia

126

Chcę skopiować katalog z jednego miejsca do innego folderu.

sudo cpto polecenie, ale po czym co powinienem wpisać? Miejsce docelowe lub źródło jako pierwsze?

pradeep
źródło
10
Czy man cppomaga
Portablejim,

Odpowiedzi:

197

-aFlaga jest prawdopodobnie to, czego szukasz:

cp -a /path/from /path/to

-aFlaga włącza rekurencyjnego zachowanie (które mogą być również wykonane z -Rflagą), a także próbować zachować metadane, takie jak własności plików, uprawnienia, znaczników czasu, linki, etc.

Powinieneś z niego korzystać tylko sudowtedy, gdy kopiujesz do lokalizacji, która nie jest własnością bieżącego użytkownika, jeśli bieżący użytkownik nie ma uprawnień do odczytu kopiowanych plików lub jeśli chcesz zachować własność plików, które nie należą do bieżącego użytkownik.

James Henstridge
źródło
4
ponadto z reguły jest tak zawsze [command] [source] [destination]. Dotyczy to mv, cp, ren.
Vineet Menon,
1
@VineetMenon Prawdopodobnie masz na myśli mv, nie ren.
jcollado,
@jcollado: już dodałem mv!!
Vineet Menon,
@VineetMenon Tak, masz rację, nie widziałem, że mvjest już na liście. W każdym razie, miałem na myśli, że o ile wiem, nie ma żadnych renpoleceń (chyba że masz ustawiony alias lub coś innego).
jcollado,
1
@jcollado: haha ​​... to był mój pseudonim dla rename...: D
Vineet Menon,
28

Jeśli chcesz skopiować katalog, użyj poniższego polecenia:

sudo cp -R Source_Folder Destination_Folder

Tego polecenia można również użyć do skopiowania plików, po prostu usuwając „-R”, który jest używany do kopiowania struktury rekurencyjnej folderów wewnętrznych (jeśli takie istnieją we wspomnianej ścieżce Source_Folder).

Jeszcze jeden przykład:

sudo cp -R /var/www/* /home/test_user/

W razie jakichkolwiek problemów prosimy zostawić komentarz.

Hrish
źródło
7

Do kopiowania folderu przez terminal możesz użyć

cp -a /source/. /dest/

Opcja -a to ulepszona opcja rekurencyjna, która zachowuje wszystkie atrybuty plików, a także zachowuje dowiązania symboliczne.

The. na końcu ścieżki źródłowej jest specyficzna składnia cp, która pozwala kopiować wszystkie pliki i foldery, w tym ukryte.

Alternatywą jest rsync

rsync -r source/ destination
Shail
źródło
2

Wydaje mi się, że lepszym sposobem jest użycie gksu nautiluspolecenia i możesz skopiować cokolwiek chcesz za pomocą zwykłego GUI.

Af Vtr
źródło
1
Zakłada się, że używasz GUI, a nie CLI.
Phill Healey,