Kako kopirati direktorij i njegov sadržaj u Linuxu

Koristite naredbu 'cp' da kopirate i zalijepite cijele direktorije s jednog mjesta na drugo

Bez obzira koji operativni sustav koristite, kopiranje jedne datoteke ili mape s jednog mjesta na drugo najosnovniji je zadatak koji obavljate svakodnevno. U užurbanom danu na poslu, tijekom projektnog zadatka u školi ili tijekom razvoja projekta, kopiranje datoteka s lokacije A na mjesto B je neizbježno.

Kopiranje datoteka ili mapa obično se vrši pomoću GUI-ja. Linux se brine za vašu naviku rada na terminalu pružajući uslužni program naredbenog retka koji vam omogućuje kopiranje datoteka ili mapa s jednog mjesta na drugo. Koristiti k.č naredba s raznim opcijama daje vam slobodu kopiranja datoteka i mapa na više načina.

Dopustite mi da vas provedem kroz ovaj članak u kojem ćete naučiti o k.č naredbu i načine kopiranja direktorija zajedno s njihovim sadržajem.

Dostupne opcije sa k.č naredba

Ovo su najčešće opcije koje se koriste s k.č naredbu u kontekstu kopiranja imenika i cijelog njegovog sadržaja.

MogućnostiOpis
-vopširni način rada (pokazuje napredak)
-r/Rrekurzivno kopirati direktorije
-nnemojte prepisivati ​​postojeću datoteku ili mapu
-iupitajte prije prepisivanja

Kopirajte imenik s jednog mjesta na drugo

Počnimo s najosnovnijom upotrebom k.č naredba. Koristit ćemo ovu naredbu s opcijom -r.

Koristiti -r opcija osigurava da će podmape i datoteke unutar direktorija koji kopirate također biti kopirane.

Sintaksa:

cp -r [izvorna_lokacija] [ciljna_lokacija]

Primjer:

U svom trenutnom radnom direktoriju imam dva direktorija pod nazivom "projekt" i "radni prostor".

U ovom primjeru koristit ću cp -r naredba za kopiranje direktorija 'projekt' zajedno sa svim njegovim sadržajem na novo mjesto, tj. '/home/gaurav/workspace'. To jednostavno znači da kopiram direktorij pod nazivom "projekt" u direktorij pod nazivom "radni prostor".

Ovo je sadržaj imenika 'projekt'. Koristiti ls naredbu za prikaz njenog sadržaja.

gaurav@ubuntu:~/project$ ls -al ukupno 288 drwxr-xr-x 6 gaurav gaurav 4096 17. rujna 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 ruj 17 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17 ruj 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 ruj1r-x drwxr-xr-x 2 gaurav gaurav 4096 ruj 17 18:25 -x 2 gaurav gaurav 4096 ruj 17 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 ruj 17 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 ruj 17 18:26 gaurav @ temp. ubuntu:~/project$

Sada, koristeći cp -r naredbom možemo kopirati direktorij 'projekt' na bilo koje željeno mjesto.

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

Izlaz:

gaurav@ubuntu:~/workspace$ ls -al ukupno 408 drwxrwxr-x 4 gaurav gaurav 4096 17. rujna 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17. rujna 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22. ožujka 2018. .metapodaci drwxr-xr-x 6 gaurav gaurav 47-rw 47-rw projekt: -- 1 gaurav gaurav 1535, 16. rujna 17:13 source.c gaurav@ubuntu:~/workspace$ 

U gornjem izlazu možemo vidjeti da je direktorij 'projekt' kopiran s izvorne lokacije na ovu novu lokaciju '/home/gaurav/workspace'. Sada otvorimo direktorij 'projekt' i provjerimo je li sav sadržaj u njemu također kopiran.

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

Bilješka: koristio sam ./ ovdje umjesto ulaska u kompletan put. To jednostavno znači da je to put mog matičnog imenika i da se radni prostor nalazi u mom početnom ili trenutnom radnom imeniku. Za više pojašnjenja o tome, možete pogledati ovaj članak.

Izlaz:

gaurav@ubuntu:~/workspace/project$ ls -al ukupno 28 drwxr-xr-x 6 gaurav gaurav 4096 17. rujna 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 ruj 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17 ruj 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 gaurav 4096 dr8x 27 ruj-x 17 ruj-x 2 gaurav gaurav 4096 17 ruj 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 ruj 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 ruj 17 18:27 temp.c ga:u ~/radni prostor/projekt$ 

Iz ovog rezultata možemo zaključiti da se sav sadržaj imenika 'projekt' također premješta na novo mjesto.

Kopiranje više imenika s jednog mjesta na drugo

Za kopiranje više direktorija, k.č naredba se može koristiti na isti način kao što je gore navedeno. Jedina promjena ovdje će biti da ćete morati unijeti višestruke izvorne putove više direktorija koje želite kopirati.

Sintaksa:

cp -r [izvorni_put_1] [izvorni_put_n] [odredišni_put]

Provjerimo ovu naredbu na primjeru.

Primjer:

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

Ovdje sam kopirao dva direktorija 'snap' i 'project' iz svog trenutnog radnog direktorija na novu lokaciju '/home/gaurav/tomcat'.

Sada provjerimo jesu li imenici kopirani sa svojim sadržajem na novo mjesto.

gaurav@ubuntu:~/tomcat$ ls -al ukupno 9316 drwxrwxr-x 5 gaurav gaurav 4096 19. rujna 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 19. ruj 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 19 ruj 12:16 projekt drwxr-xr-x 7 gaurav gaurav 4096 19 ruj: 16 sna

Provjera je li sadržaj ovih imenika također kopiran.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb eclipse htop pycharm-community vim-editor gaurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$

Korištenje k.č naredba s opširnim načinom rada

Koristiti k.č naredba s opcijom -v omogućuje opširni način rada. Ova značajka prikazuje datoteke na terminalu koje se kopiraju. Naziv datoteke ili mape koja se kopira prikazuje se na vašem terminalu.

Sintaksa:

cp -vr [izvorni_direktorij] [puta_ciljne_lokacije]

Primjer:

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

U ovom primjeru, direktorij 'apache' kopira se u novu mapu 'space'. Koristio sam -v opcija sa -r, tako da se sav sadržaj apache direktorija također kopira.

Izlaz:

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

Izlaz prikazuje imenik koji se kopira. Isti postupak se može učiniti u slučaju kopiranja više datoteka.

Izbjegavajte prepisivanje prilikom korištenja k.č naredba

Ponekad tijekom korištenja k.č naredbu za kopiranje više datoteka ili mapa, možete završiti prepisivanjem datoteka koje su već kopirane na novo mjesto. Kako biste to izbjegli, preporučljivo je koristiti -i opcija s k.č naredba. To će vas zatražiti prije nego što prepišete bilo koju datoteku ili mapu.

Sintaksa:

cp -ri [puta_izvornog_direktorija] [puta_ciljne_lokacije]

Bilješka: Ovdje, u sintaksi koju sam koristio -r opcija također. Ovo će također kopirati sadržaj direktorija. Također će provjeriti je li bilo koja od ovih podmapa i datoteka unutar direktorija prepisana.

Primjer:

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

Ovdje sam pokušao kopirati direktorij pod nazivom 'snap' na novo mjesto. No naziv imenika 'snap' već postoji na novom mjestu. Stoga će me terminal zatražiti prije nego što prepišem postojeći snap direktorij.

Možete upisati 'Da' ili 'Ne' kao odgovor na ovaj upit.

U slučaju da ne koristite -i opciju, postojeći imenik će biti prepisan novim imenikom.

Preskoči prepisivanje datoteka i direktorija sa k.č naredba

Možemo koristiti -n mogućnost izravnog upućivanja terminalu da nikada ne prepisuje i jednostavno preskoči slične datoteke i direktorije dok se koristi k.č naredba.

Sintaksa:

cp -nr [puta_izvornog_direktorija] [puta_ciljne_lokacije]

Koristeći ovu naredbu možete biti sigurni da vaše datoteke i mape neće biti prepisane.

Primjer:

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

Ovdje 'snap' direktorija već postoji na ciljnom mjestu. Dakle, korištenjem -n opcija će osigurati da se ovaj direktorij ne prepiše.

Za razliku od -i opcija, ovdje nećete biti upitani za prepisivanje.

Zaključak

Koristiti k.č naredba za kopiranje direktorija i njihovog sadržaja u Linuxu je jednostavan proces. Da biste saznali više o k.č naredbu s drugim dostupnim opcijama, možete provjeriti stranicu priručnika upisivanjem čovjek k.č u vašem Linux terminalu.