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ä.
Vaihtoehdot | Kuvaus |
-v | monisanainen tila (näyttää edistymisen) |
-r/R | kopioida hakemistoja rekursiivisesti |
-n | älä korvaa olemassa olevaa tiedostoa tai kansiota |
-i | kehote 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.