Kataloogi ja selle sisu kopeerimine Linuxis

Kasutage käsku "cp", et kopeerida ja kleepida terveid katalooge ühest kohast teise

Olenemata sellest, millist operatsioonisüsteemi te kasutate, on ühe faili või kausta kopeerimine ühest asukohast teise kõige elementaarsem ülesanne, mida te igapäevaselt teete. Kiirel tööpäeval, koolis projektiülesannete täitmisel või käimasoleva projekti arendamise ajal on failide kopeerimine asukohast A asukohta B vältimatu.

Failide või kaustade kopeerimine toimub tavaliselt GUI abil. Linux hoolitseb teie harjumuse eest terminalis töötada, pakkudes käsurea utiliidi, mis võimaldab teil faile või kaustu ühest kohast teise kopeerida. Kasutades cp käsk mitmesuguste suvanditega annab teile vabaduse faile ja kaustu mitmel viisil kopeerida.

Lubage mul tutvustada teile seda artiklit, kust saate teavet selle kohta cp käsk ja viisid, kuidas katalooge koos nende sisuga kopeerida.

Saadaval valikud koos cp käsk

Need on kõige sagedamini kasutatavad valikud cp käsk kataloogi ja kogu selle sisu kopeerimise kontekstis.

ValikudKirjeldus
-vpaljusõnaline režiim (näitab edenemist)
-r/Rkataloogide rekursiivne kopeerimine
-närge kirjutage üle olemasolevat faili või kausta
-iküsi enne ülekirjutamist

Kopeerige kataloog ühest asukohast teise

Alustame selle kõige elementaarsema kasutamisega cp käsk. Kasutame seda käsku koos valikuga -r.

Kasutades -r suvand tagab, et kopeeritakse ka kopeeritavas kataloogis olevad alamkaustad ja failid.

Süntaks:

cp -r [allika_koht] [sihtkoht]

Näide:

Minu praeguses töökataloogis on kaks kataloogi nimega "projekt" ja "tööruum".

Selles näites kasutan cp -r käsk kopeerida kataloog "projekt" koos kogu selle sisuga uude asukohta, st "/home/gaurav/workspace". See tähendab lihtsalt, et ma kopeerin kataloogi nimega "projekt" kataloogi nimega "tööruum".

See on kataloogi "projekt" sisu. Kasutades ls käsk selle sisu kuvamiseks.

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

Nüüd, kasutades cp -r käsuga saame kopeerida kataloogi "projekt" mis tahes soovitud asukohta.

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

Väljund:

gaurav@ubuntu:~/workspace$ ls -al kokku 408 drwxrwxr-x 4 gaurav gaurav 4096 17. september 18:27. drwxr-xr-x 88 gaurav gaurav 266240 17. september 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22. märts 2018 .metadata drwxr-xr-x 6 gaurav gaurav 409 - 18-6 projekt -- 1 gaurav gaurav 1535 16. september 17:13 source.c gaurav@ubuntu:~/workspace$ 

Ülaltoodud väljundis näeme, et kataloog "projekt" kopeeritakse algsest asukohast uude asukohta "/home/gaurav/workspace". Nüüd avame kataloogi "projekt" ja kontrollime, kas kogu selle sisu on ka kopeeritud.

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

Märge: olen kasutanud ./ kogu tee sisestamise asemel siin. See tähendab lihtsalt, et see on minu kodukataloogi tee ja tööruum asub minu kodus või praeguses töökataloogis. Selle kohta lisateabe saamiseks vaadake seda artiklit.

Väljund:

gaurav@ubuntu:~/tööruum/projekt$ ls -al kokku 28 drwxr-xr-x 6 gaurav gaurav 4096 17. september 18:27. drwxrwxr-x 4 gaurav gaurav 4096 17. september 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17. september 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 september 4096 drxw8:2 rxw 2 gaurav gaurav 4096 17. september 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17. september 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24. september 17 18:27 gaurav gaurav @ temp. ~/tööruum/projekt$ 

Sellest väljundist võime järeldada, et ka kogu kataloogi ‘projekt’ sisu teisaldatakse uude asukohta.

Mitme kataloogi kopeerimine ühest asukohast teise

Mitme kataloogi kopeerimiseks cp käsku saab kasutada samamoodi nagu eespool mainitud. Ainus muudatus siin on see, et peate sisestama mitme kopeeritava kataloogi mitu lähteteed.

Süntaks:

cp -r [allika_tee_1] [allika_tee_n] [sihtkoha_tee]

Kontrollime seda käsku näitega.

Näide:

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

Siin olen kopeerinud kaks kataloogi "snap" ja "projekt" oma praegusest töökataloogist uude asukohta "/home/gaurav/tomcat".

Nüüd kontrollime, kas kataloogid on koos nende sisuga uude asukohta kopeeritud.

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

Kontrollimine, kas ka nende kataloogide sisu on kopeeritud.

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$

Kasutades cp käsk paljusõnalise režiimiga

Kasutades cp käsk valikuga -v võimaldab paljusõnalist režiimi. See funktsioon kuvab terminalis olevad failid, mida kopeeritakse. Kopeeritava faili või kausta nimi kuvatakse teie terminalis.

Süntaks:

cp -vr [allikakataloog] [sihtkoha_tee]

Näide:

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

Selles näites kopeeritakse kataloog "apache" uude kausta "space". Olen kasutanud -v variant koos -r, nii et ka kogu apache kataloogi sisu kopeeritakse.

Väljund:

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

Väljund kuvab kataloogi, mida kopeeritakse. Sama protsessi saab teha ka mitme faili kopeerimisel.

Vältige kasutamisel ülekirjutamist cp käsk

Mõnikord kasutamise ajal cp mitme faili või kausta kopeerimiseks, võite lõpuks juba uude asukohta kopeeritud failid üle kirjutada. Selle vältimiseks on soovitatav kasutada -i valik koos cp käsk. See küsib teid enne mis tahes faili või kausta ülekirjutamist.

Süntaks:

cp -ri [allika_kataloogi_tee] [sihtkoha_tee]

Märge: Siin, minu kasutatud süntaksis -r variant samuti. See kopeerib ka kataloogide sisu. Samuti kontrollib see, kas mõni kataloogis olevatest alamkaustadest ja failidest kirjutatakse üle.

Näide:

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

Siin proovisin kopeerida kataloogi nimega "snap" uude asukohta. Kuid kataloogi nimi "snap" on uues asukohas juba olemas. Seetõttu küsib terminal mind enne olemasoleva snap-kataloogi ülekirjutamist.

Võite kirjutada "Jah"või"Ei“ vastusena sellele viipale.

Juhul, kui te ei kasuta -i suvandi korral kirjutatakse olemasolev kataloog uue kataloogiga üle.

Failide ja kataloogide ülekirjutamise vahelejätmine rakendusega cp käsk

Saame kasutada -n võimalus anda terminalile otse käsk mitte kunagi üle kirjutada ning sarnaseid faile ja katalooge kasutades lihtsalt vahele jätta cp käsk.

Süntaks:

cp -nr [allika_kataloogi_tee] [sihtkoha_tee]

Seda käsku kasutades võite olla kindel, et teie faile ja kaustu ei kirjutata üle.

Näide:

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

Siin on kataloog „snap” sihtasukohas juba olemas. Seega, kasutades -n valik tagab selle kataloogi mitte ülekirjutamise.

Erinevalt -i valik, siin ei küsita teid ülekirjutamise kohta.

Järeldus

Kasutades cp kataloogide ja nende sisu kopeerimiseks Linuxis on lihtne protsess. Lisateavet selle kohta cp käsk koos muude saadaolevate suvanditega, saate vaadata käsitsi lehte, tippides mees cp oma Linuxi terminalis.