Hakemiston ja sen sisällön kopioiminen Linuxissa

Käytä 'cp'-komentoa kokonaisten hakemistojen kopioimiseen ja liittämiseen paikasta toiseen

Riippumatta siitä, mitä käyttöjärjestelmää käytät, yhden tiedoston tai kansion kopioiminen paikasta toiseen on päivittäisistä perustehtävistäsi. Kiireisenä työpäivänä, koulun projektitehtävän aikana tai projektin jatkuvan kehittämisen aikana tiedostojen kopioiminen paikasta A paikkaan B on väistämätöntä.

Tiedostojen tai kansioiden kopiointi tapahtuu yleensä graafisen käyttöliittymän avulla. Linux huolehtii tavastasi työskennellä päätelaitteen kanssa tarjoamalla komentorivityökalun, jonka avulla voit kopioida tiedostoja tai kansioita paikasta toiseen. Käyttämällä cp komento useilla vaihtoehdoilla antaa sinulle vapauden kopioida tiedostoja ja kansioita useilla tavoilla.

Anna minun käydä läpi tämä artikkeli, jossa opit cp komento ja tapoja kopioida hakemistoja niiden sisällön kanssa.

Vaihtoehdot saatavilla cp komento

Nämä ovat yleisimmät vaihtoehdot, joita käytetään cp -komentoa hakemiston ja sen sisällön kopioimisen yhteydessä.

VaihtoehdotKuvaus
-vmonisanainen tila (näyttää edistymisen)
-r/Rkopioida hakemistoja rekursiivisesti
-nälä korvaa olemassa olevaa tiedostoa tai kansiota
-ikehote ennen korvaamista

Kopioi hakemisto paikasta toiseen

Aloitetaan peruskäytöstä cp komento. Käytämme tätä komentoa vaihtoehdon kanssa -r.

Käyttämällä -r -vaihtoehto varmistaa, että myös kopioitavan hakemiston alikansiot ja tiedostot kopioidaan.

Syntaksi:

cp -r [lähde_sijainti] [kohdesijainti]

Esimerkki:

Minulla on kaksi hakemistoa nykyisessä työhakemistossani nimeltä "projekti" ja "työtila".

Tässä esimerkissä käytän cp -r -komento kopioidaksesi hakemiston "projekti" kaiken sisällön kanssa uuteen sijaintiin, eli "/home/gaurav/workspace". Tämä tarkoittaa yksinkertaisesti sitä, että kopioin hakemiston nimeltä "projekti" hakemistoon nimeltä "työtila".

Nämä ovat hakemiston "projekti" sisältö. Käyttämällä ls komento näyttää sen sisältö.

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

Nyt käyttämällä cp -r -komennolla voimme kopioida hakemiston "projekti" mihin tahansa haluttuun paikkaan.

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

Lähtö:

gaurav@ubuntu:~/työtila$ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 17. syyskuuta 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17. syyskuuta 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22. maaliskuuta 2018 .metadata drwxr-xr-x 6 gaurav gaurav-xr-x 6 gaurav gaurav - 409 - projekti 21 - 8 - 1 -- 1 gaurav gaurav 1535 16. syyskuuta 17:13 source.c gaurav@ubuntu:~/workspace$ 

Yllä olevassa tulosteessa voimme nähdä, että hakemisto "projekti" on kopioitu alkuperäisestä sijainnista tähän uuteen sijaintiin "/home/gaurav/workspace". Avataan nyt hakemisto "projekti" ja tarkistetaan, onko myös kaikki sen sisällä oleva sisältö kopioitu.

gaurav@ubuntu:~$ cd ./työtila/projekti gaurav@ubuntu:~/työtila/projekti$

merkintä: olen käyttänyt ./ tähän koko polun kirjoittamisen sijaan. Se tarkoittaa yksinkertaisesti, että se on kotihakemistoni polku ja työtila sijaitsee kotihakemistossani tai nykyisessä työhakemistossani. Saat lisätietoja tästä artikkelista.

Lähtö:

gaurav@ubuntu:~/työtila/projekti$ ls -al yhteensä 28 drwxr-xr-x 6 gaurav gaurav 4096 17. syyskuuta 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 17. syyskuuta 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17. syyskuuta 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 drxw8:27 de-xrxw8:2 2 gaurav gaurav 4096 17. syyskuuta 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17. syyskuuta 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24. syyskuuta 17 18:27 gaurav gaurav@ temp. ~/työtila/projekti$ 

Tästä tulosteesta voimme päätellä, että kaikki hakemiston "projekti" sisältö on myös siirretty uuteen paikkaan.

Useiden hakemistojen kopioiminen paikasta toiseen

Jos haluat kopioida useita hakemistoja, cp komentoa voidaan käyttää samalla tavalla kuin edellä mainittiin. Ainoa muutos tässä on, että sinun on syötettävä useiden kopioitavien hakemistojen lähdepolut.

Syntaksi:

cp -r [lähdepolku_1] [lähdepolku_n] [kohdepolku]

Tarkastetaan tämä komento esimerkin avulla.

Esimerkki:

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

Täällä olen kopioinut kaksi hakemistoa "snap" ja "projekti" nykyisestä työhakemistostani uuteen sijaintiin "/home/gaurav/tomcat".

Tarkastetaan nyt, onko hakemistot kopioitu sisältöineen uuteen paikkaan.

gaurav@ubuntu:~/tomcat$ ls -al yhteensä 9316 drwxrwxr-x 5 gaurav gaurav 4096 19. syyskuuta 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 19. syyskuuta 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 19. syyskuuta 12:16 projekti drwxr-xr-x 7 gaurav gaurav 4096 1 syyskuu 1:19

Tarkistaa, kopioidaanko myös näiden hakemistojen sisältö.

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$

Käyttämällä cp komento monisanaisella tilassa

Käyttämällä cp komento vaihtoehdolla -v ottaa käyttöön monisanaisen tilan. Tämä ominaisuus näyttää päätteen tiedostot, joita kopioidaan. Kopioitavan tiedoston tai kansion nimi näkyy päätteessäsi.

Syntaksi:

cp -vr [lähdehakemisto] [kohde_sijaintipolku]

Esimerkki:

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

Tässä esimerkissä hakemisto "apache" kopioidaan uuteen kansioon "space". Olen käyttänyt -v vaihtoehto kanssa -r, jotta myös kaikki apache-hakemiston sisältö kopioidaan.

Lähtö:

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

Tulos näyttää hakemiston, jota kopioidaan. Sama prosessi voidaan tehdä, jos kopioit useita tiedostoja.

Vältä päällekirjoittamista käyttäessäsi cp komento

Joskus käytettäessä cp komento kopioidaksesi useita tiedostoja tai kansioita, saatat päätyä korvaamaan tiedostot, jotka on jo kopioitu uuteen sijaintiin. Tämän välttämiseksi on suositeltavaa käyttää -i vaihtoehto kanssa cp komento. Tämä kehottaa sinua ennen kuin korvaat minkä tahansa tiedoston tai kansion.

Syntaksi:

cp -ri [lähdehakemiston_polku] [kohteen_sijainnin_polku]

merkintä: Tässä, käyttämässäni syntaksissa -r vaihtoehto myös. Tämä kopioi myös hakemistojen sisällön. Se myös tarkistaa, kirjoitetaanko jokin näistä hakemistossa olevista alikansioista ja tiedostoista.

Esimerkki:

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

Täällä yritin kopioida hakemiston nimeltä "snap" uuteen sijaintiin. Mutta hakemiston nimi "snap" on jo olemassa uudessa paikassa. Siksi pääte pyytää minua ennen kuin korvaan olemassa olevan snap-hakemiston.

voit kirjoittaa 'Joo"tai"Ei" vastauksena tähän kehotteeseen.

Siinä tapauksessa, jos et käytä -i -vaihtoehto, nykyinen hakemisto korvataan uudella hakemistolla.

Ohita tiedostojen ja hakemistojen päällekirjoittaminen cp komento

Voimme käyttää -n mahdollisuus suoraan ohjeistaa päätettä koskaan ylikirjoittamaan ja yksinkertaisesti ohittaa samanlaiset tiedostot ja hakemistot käytettäessä cp komento.

Syntaksi:

cp -nr [lähdehakemiston_polku] [kohteen_sijainnin_polku]

Käyttämällä tätä komentoa voit olla varma, että tiedostojasi ja kansioitasi ei korvata.

Esimerkki:

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

Tässä hakemisto "snap" on jo olemassa kohdesijainnissa. Siksi käyttämällä -n -vaihtoehto varmistaa, että tätä hakemistoa ei korvata.

Toisin kuin -i vaihtoehto, tässä sinua ei kehoteta päällekirjoituksesta.

Johtopäätös

Käyttämällä cp -komento kopioida hakemistoja ja niiden sisältöä Linuxissa on helppo prosessi. Saat lisätietoja aiheesta cp -komentoa muiden käytettävissä olevien vaihtoehtojen kanssa, voit tarkistaa manuaalisen sivun kirjoittamalla mies kp Linux-päätteessäsi.