Kako kopirati imenik in njegovo vsebino v Linuxu

Z ukazom 'cp' kopirajte in prilepite celotne imenike z enega mesta na drugega

Ne glede na to, kateri operacijski sistem uporabljate, je kopiranje ene datoteke ali mape z ene lokacije na drugo najosnovnejša naloga, ki jo opravljate vsak dan. Ob napornem dnevu v službi, med projektno nalogo v šoli ali med tekočim razvojem projekta je kopiranje datotek z lokacije A na lokacijo B neizogibno.

Kopiranje datotek ali map se običajno izvaja z GUI. Linux poskrbi za vašo navado dela na terminalu z zagotavljanjem pripomočka ukazne vrstice, ki vam omogoča kopiranje datotek ali map z ene lokacije na drugo. Uporabljati cp ukaz z različnimi možnostmi vam omogoča svobodo kopiranja datotek in map na več načinov.

Naj vas vodim skozi ta članek, kjer boste izvedeli o cp ukaz in načine kopiranja imenikov skupaj z njihovo vsebino.

Možnosti, ki so na voljo z cp ukaz

To so najpogostejše možnosti, ki se uporabljajo z cp ukaz v kontekstu kopiranja imenika in vse njegove vsebine.

OpcijeOpis
-vpodrobni način (prikazuje napredek)
-r/Rrekurzivno kopirajte imenike
-nne prepisujte obstoječe datoteke ali mape
-jazpozove pred prepisom

Kopirajte imenik z ene lokacije na drugo

Začnimo z najosnovnejšo uporabo cp ukaz. Ta ukaz bomo uporabili z možnostjo -r.

Uporabljati -r možnost zagotavlja, da bodo kopirane tudi podmape in datoteke v imeniku, ki ga kopirate.

sintaksa:

cp -r [izvorna_lokacija] [ciljna_lokacija]

Primer:

V svojem trenutnem delovnem imeniku imam dva imenika, imenovana "projekt" in "delovni prostor".

V tem primeru bom uporabil cp -r ukaz za kopiranje imenika 'projekt' skupaj z vso njegovo vsebino na novo lokacijo, to je '/home/gaurav/workspace'. To preprosto pomeni, da kopiram imenik z imenom "project" v imenik z imenom "workspace".

To je vsebina imenika 'projekt'. Uporabljati ls ukaz za prikaz njegove vsebine.

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

Zdaj z uporabo cp -r ukaz lahko kopiramo imenik 'projekt' na katero koli želeno lokacijo.

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

Izhod:

gaurav@ubuntu:~/workspace$ ls -al skupaj 408 drwxrwxr-x 4 gaurav gaurav 4096 17. sep 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17. september 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22. marec 2018 .metapodatki drwxr-xr-x 6 gaurav gaurav 4096 sep17-rw-18 -- 1 gaurav gaurav 1535, 16. sep. 17:13 source.c gaurav@ubuntu:~/workspace$ 

V zgornjem izhodu lahko vidimo, da je imenik 'projekt' kopiran iz prvotne lokacije na to novo lokacijo '/home/gaurav/workspace'. Zdaj pa odpremo imenik 'projekt' in preverimo, ali je vsa vsebina v njem tudi kopirana.

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

Opomba: uporabljal sem ./ tukaj namesto vnosa celotne poti. To preprosto pomeni, da je to pot mojega domačega imenika in delovni prostor se nahaja v mojem domačem ali trenutnem delovnem imeniku. Za več pojasnil o tem si lahko ogledate ta članek.

Izhod:

gaurav@ubuntu:~/workspace/project$ ls -al skupaj 28 drwxr-xr-x 6 gaurav gaurav 4096 17. sep 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 17. sep 18:27 .. drwxr-xr-x 2 gaurav 4096 17 sep 18:27 dem1, drwxr-xr-x 2 gaurav 4096 gaurav 4096 drw8x 17 sep. 2 gaurav gaurav 4096 17. sep. 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17. sep. 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24. sep. 17 18:27 temp. ~/delovni prostor/projekt$ 

Iz tega izhoda lahko sklepamo, da se na novo lokacijo premakne tudi vsa vsebina imenika 'projekt'.

Kopiranje več imenikov z ene lokacije na drugo

Če želite kopirati več imenikov, cp ukaz lahko uporabite na enak način, kot je omenjeno zgoraj. Edina sprememba tukaj bo ta, da boste morali vnesti več izvornih poti več imenikov, ki jih želite kopirati.

sintaksa:

cp -r [virna_pot_1] [virna_pot_n] [ciljna_pot]

Preverimo ta ukaz s primerom.

Primer:

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

Tukaj sem kopiral dva imenika 'snap' in 'project' iz mojega trenutnega delovnega imenika na novo lokacijo '/home/gaurav/tomcat'.

Zdaj pa preverimo, ali so imeniki s svojo vsebino kopirani na novo lokacijo.

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

Preverjanje, ali je kopirana tudi vsebina teh imenikov.

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$

Uporaba cp ukaz z podrobnim načinom

Uporabljati cp ukaz z možnostjo -v omogoča podrobni način. Ta funkcija prikaže datoteke na terminalu, ki se kopirajo. Ime datoteke ali mape, ki se kopira, se prikaže na vašem terminalu.

sintaksa:

cp -vr [izvorni imenik] [pot ciljne_lokacije]

Primer:

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

V tem primeru je imenik "apache" kopiran v novo mapo "space". Uporabil sem -v možnost z -r, tako da se kopira tudi vsa vsebina imenika apache.

Izhod:

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

Izhod prikaže imenik, ki se kopira. Enak postopek je mogoče izvesti v primeru kopiranja več datotek.

Pri uporabi se izogibajte prepisovanju cp ukaz

Včasih med uporabo cp Če želite kopirati več datotek ali map, lahko na koncu prepišete datoteke, ki so že kopirane na novo lokacijo. Da bi se temu izognili, je priporočljivo uporabiti -jaz možnost z cp ukaz. To vas bo pozvalo, preden prepišete katero koli datoteko ali mapo.

sintaksa:

cp -ri [pot_izvornega_imenika] [pot ciljne_lokacije]

Opomba: Tukaj, v sintaksi, ki sem jo uporabil -r tudi možnost. To bo kopiralo tudi vsebino imenikov. Prav tako bo preveril, ali je katera od teh podmap in datotek v imeniku prepisana.

Primer:

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

Tukaj sem poskušal kopirati imenik z imenom 'snap' na novo lokacijo. Toda ime imenika 'snap' že obstaja na novi lokaciji. Zato me bo terminal pozval, preden prepišem obstoječi imenik snap.

Vnesete lahko 'da‘ali ‘št« kot odgovor na ta poziv.

V primeru, da ne uporabljate -jaz možnost, bo obstoječi imenik prepisan z novim imenikom.

Preskoči prepisovanje datotek in imenikov z cp ukaz

Lahko uporabimo -n možnost, da terminalu neposredno naročite, naj nikoli ne prepiše in preprosto preskoči podobne datoteke in imenike med uporabo cp ukaz.

sintaksa:

cp -nr [pot_izvornega_imenika] [pot ciljne_lokacije]

S tem ukazom ste lahko prepričani, da vaše datoteke in mape ne bodo prepisane.

Primer:

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

Tukaj »snap« imenika že obstaja na ciljni lokaciji. Zato uporaba -n možnost bo zagotovila, da tega imenika ne prepišete.

Za razliko od -jaz možnost, tukaj ne boste pozvani k prepisu.

Zaključek

Uporabljati cp ukaz za kopiranje imenikov in njihove vsebine v Linuxu je enostaven postopek. Če želite izvedeti več o cp z drugimi razpoložljivimi možnostmi, si lahko ogledate stran z navodili tako, da vnesete človek cp v vašem terminalu Linux.