Jak skopiować katalog i jego zawartość w systemie Linux?

Użyj polecenia „cp”, aby skopiować i wkleić całe katalogi z jednego miejsca do drugiego

Bez względu na to, z jakiego systemu operacyjnego korzystasz, kopiowanie jednego pliku lub folderu z jednej lokalizacji do drugiej jest najbardziej podstawowym zadaniem, jakie wykonujesz codziennie. Kopiowanie plików z lokalizacji A do lokalizacji B jest nieuniknione podczas pracowitego dnia w pracy, podczas zadania projektowego w szkole lub podczas trwającego rozwoju projektu.

Kopiowanie plików lub folderów zwykle odbywa się za pomocą GUI. Linux dba o twój nawyk pracy na terminalu, udostępniając narzędzie wiersza poleceń, które pozwala kopiować pliki lub foldery z jednej lokalizacji do drugiej. Używając cp polecenie z różnymi opcjami daje swobodę kopiowania plików i folderów na wiele sposobów.

Pozwól, że przeprowadzę Cię przez ten artykuł, w którym dowiesz się o cp polecenia i sposoby kopiowania katalogów wraz z ich zawartością.

Opcje dostępne z cp Komenda

Są to najczęściej używane opcje z cp polecenie w kontekście kopiowania katalogu i całej jego zawartości.

OpcjeOpis
-vtryb gadatliwy (pokazuje postęp)
-r/Rkopiuj katalogi rekurencyjnie
-nnie nadpisuj istniejącego pliku lub folderu
-imonit przed nadpisaniem

Skopiuj katalog z jednej lokalizacji do drugiej

Zacznijmy od najbardziej podstawowego użycia cp Komenda. Użyjemy tego polecenia z opcją -r.

Używając -r Opcja zapewnia, że ​​podfoldery i pliki znajdujące się w kopiowanym katalogu również zostaną skopiowane.

Składnia:

cp -r [lokalizacja_źródłowa] [lokalizacja_docelowa]

Przykład:

Mam dwa katalogi w moim bieżącym katalogu roboczym o nazwie „projekt” i „przestrzeń robocza”.

W tym przykładzie użyję cp -r polecenie, aby skopiować katalog „projekt” wraz z całą jego zawartością do nowej lokalizacji, tj. „/home/gaurav/workspace”. Oznacza to po prostu, że kopiuję katalog o nazwie „projekt” do katalogu o nazwie „obszar roboczy”.

Oto zawartość katalogu „projekt”. Używając ls polecenie, aby wyświetlić jego zawartość.

gaurav@ubuntu:~/projekt $ ls -al łącznie 288 drwxr-xr-x 6 gaurav gaurav 4096 17 września 18:26. drwxr-xr-x 88 gaurav gaurav 266240 17 września 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:25 dem2 drwxr-xr -x 2 gaurav gaurav 4096 17 września 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 września 17 18:26 temp.c gaurav@ ubuntu:~/projekt$

Teraz, używając cp -r poleceniem możemy skopiować katalog „projekt” do dowolnej wybranej lokalizacji.

gaurav@ubuntu:~$ cp -r /home/gaurav/projekt /home/gaurav/workspace gaurav@ubuntu:~$

Wyjście:

gaurav@ubuntu:~/workspace$ ls -al łącznie 408 drwxrwxr-x 4 gaurav gaurav 4096 17 września 18:27. drwxr-xr-x 88 gaurav gaurav 266240 17 września 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22 marca 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096 17 września 18:27 projekt -rw-r--r -- 1 gaurav gaurav 1535 16 września 17:13 source.c gaurav@ubuntu:~/workspace$ 

W powyższym wyniku widzimy, że katalog „projekt” jest kopiowany z oryginalnej lokalizacji do nowej lokalizacji „/home/gaurav/workspace”. Teraz otwórzmy katalog „projekt” i sprawdźmy, czy cała zawartość w nim również jest skopiowana.

gaurav@ubuntu:~$ cd ./workspace/projekt gaurav@ubuntu:~/workspace/projekt$

Notatka: używałem ./ tutaj zamiast wchodzić na pełną ścieżkę. Oznacza to po prostu, że jest to ścieżka mojego katalogu domowego, a obszar roboczy znajduje się w moim katalogu domowym lub bieżącym katalogu roboczym. Więcej wyjaśnień na ten temat znajdziesz w tym artykule.

Wyjście:

gaurav@ubuntu:~/workspace/project $ ls -al łącznie 28 drwxr-xr-x 6 gaurav gaurav 4096 17 września 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 17 września 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:27 dem2 drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 września 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 września 17 18:27 temp.c gaurav@ubuntu: ~/obszar roboczy/projekt$ 

Z tego wyniku możemy wywnioskować, że cała zawartość katalogu „projekt” została również przeniesiona do nowej lokalizacji.

Kopiowanie wielu katalogów z jednej lokalizacji do drugiej

Aby skopiować wiele katalogów, cp Polecenie może być użyte w taki sam sposób, jak wspomniano powyżej. Jedyną zmianą tutaj będzie to, że będziesz musiał wprowadzić wiele ścieżek źródłowych wielu katalogów do skopiowania.

Składnia:

cp -r [ścieżka_źródłowa_1] [ścieżka_źródłowa_n] [ścieżka_docelowa]

Sprawdźmy to polecenie na przykładzie.

Przykład:

gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat

Tutaj skopiowałem dwa katalogi „snap” i „project” z mojego bieżącego katalogu roboczego do nowej lokalizacji „/home/gaurav/tomcat”.

Sprawdźmy teraz, czy katalogi są kopiowane wraz z zawartością do nowej lokalizacji.

gaurav@ubuntu:~/tomcat$ ls -al łącznie 9316 drwxrwxr-x 5 gaurav gaurav 4096 19 września 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 wrz 19 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 wrz 19 12:16 projekt drwxr-xr-x 7 gaurav gaurav 4096 wrz 19 12:16 snap

Sprawdzenie, czy zawartość tych katalogów również jest kopiowana.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb zaćmienie htop pycharm-community edytor vim gaurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/projekt$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/projekt$

Za pomocą cp polecenie w trybie szczegółowym

Używając cp polecenie z opcją -v włącza tryb gadatliwy. Ta funkcja wyświetla kopiowane pliki na terminalu. Nazwa pliku lub folderu, który jest kopiowany, jest wyświetlana na twoim terminalu.

Składnia:

cp -vr [katalog_źródłowy] [ścieżka_lokacji_docelowej]

Przykład:

gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space

W tym przykładzie katalog „apache” jest kopiowany do nowego folderu „space”. użyłem -v opcja z -r, dzięki czemu cała zawartość katalogu Apache również zostanie skopiowana.

Wyjście:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

Dane wyjściowe wyświetlają katalog, który jest kopiowany. Ten sam proces można wykonać w przypadku kopiowania wielu plików.

Unikaj nadpisywania podczas używania cp Komenda

Czasami podczas korzystania z cp polecenie, aby skopiować wiele plików lub folderów, możesz nadpisać pliki, które zostały już skopiowane do nowej lokalizacji. Aby tego uniknąć, zaleca się użycie -i opcja z cp Komenda. To wyświetli monit przed nadpisaniem dowolnego pliku lub folderu.

Składnia:

cp -ri [ścieżka_katalogu_źródłowego] [ścieżka_docelowej_lokalizacji]

Notatka: Tutaj, w składni, której użyłem -r opcja również. To również skopiuje zawartość katalogów. Sprawdza również, czy którykolwiek z tych podfolderów i plików w katalogu jest nadpisywany.

Przykład:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: nadpisz './tomcat/snap/pycharm-community/current'?

Tutaj próbowałem skopiować katalog o nazwie „snap” do nowej lokalizacji. Ale nazwa katalogu „snap” już istnieje w nowej lokalizacji. W związku z tym będę monitowany przez terminal przed nadpisaniem istniejącego katalogu snap.

Możesz pisać 'tak' lub 'Nie‘ jako odpowiedź na ten monit.

W przypadku, jeśli nie korzystasz z -i opcja, istniejący katalog zostanie nadpisany przez nowy katalog.

Pomiń nadpisywanie plików i katalogów za pomocą cp Komenda

Możemy użyć -n opcja bezpośredniego polecenia terminalowi, aby nigdy nie nadpisywał i po prostu pomijał podobne pliki i katalogi podczas korzystania z cp Komenda.

Składnia:

cp -nr [ścieżka_katalogu_źródłowego] [ścieżka_docelowej_lokalizacji]

Używając tego polecenia masz pewność, że Twoje pliki i foldery nie zostaną nadpisane.

Przykład:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$

Tutaj katalog „snap” już istnieje w lokalizacji docelowej. Dlatego używając -n opcja zapewni, że nie nadpiszesz tego katalogu.

w odróżnieniu -i opcja, tutaj nie zostaniesz poproszony o nadpisanie.

Wniosek

Używając cp polecenie do kopiowania katalogów i ich zawartości w systemie Linux jest łatwym procesem. Aby dowiedzieć się więcej o cp polecenie z innymi dostępnymi opcjami, możesz sprawdzić stronę podręcznika, wpisując mężczyzna cp w twoim terminalu Linux.