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.
Opcje | Opis |
-v | tryb gadatliwy (pokazuje postęp) |
-r/R | kopiuj katalogi rekurencyjnie |
-n | nie nadpisuj istniejącego pliku lub folderu |
-i | monit 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.