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?


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.


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.


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

2

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


1
Zakłada się, że używasz GUI, a nie CLI.
Phill Healey,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.