Selles artiklis mainitud käsud ja näited oleme käivitanud Debian 10 Busteri süsteemis, kuid saate neid kopeerida peaaegu kõigis Linuxi distros.
Rakenduse kaudu pääseb hõlpsasti juurde Linuxi käsureale Terminal. Käivitusprogrammi otsing järgmiselt:
Näide 1: Ühe faili kopeerimine sihtkataloogi
Käsu cp lihtsaim kasutamine on ühe lähtekoodifaili kopeerimine sihtkataloogi. Siin on süntaks, mida saate selleks kasutada:
$ cp sourcefile / target / kataloogNäide:
Selles näites kopeerin faili nimega sample_file.txt minu kausta Dokumendid:
Hiljem kontrollisin käsu ls abil faili olemasolu sihtkaustas.
Näide 2: Mitme faili kopeerimine sihtkataloogi
Käsuga cp saate järgmise süntaksiga mitu faili sihtkataloogi kopeerida:
$ cp sourcefile1 sourcefile2 sourcefile3 ... / target / kataloogNäide:
Selles näites kopeerin käsu cp kaudu kaks näidisfaili kausta Dokumendid:
Hiljem kontrollisin käsu ls abil nende failide olemasolu sihtkaustas.
Näide 3: Failide kopeerimine interaktiivsel viisil
Kui teie sihtkaustas on samanimeline fail, saate enne sihtfaili ülekirjutamist kasutada käsku cp. Lülitit -i saate kasutada järgmiselt:
$ cp -i sourcefile / target / kataloogNäide:
Selles näites fail nimega sample_file.txt on juba kaustas Dokumendid olemas, seetõttu küsib käsk cp koos lipuga -i, kas ma tahan selle üle kirjutada. Kui sisestan selle viiba, kirjutatakse fail üle.
Näide 4: failide kopeerimine koos Verbose'i väljundiga
Verbose väljundiga prinditakse käsu toimingud. Selle saab lisada käsuga cp lülitiga -v järgmiselt:
$ cp -v sourcefile / target / kataloogNäide:
Järgmises näites näete, kuidas käsk cp prindib käsu kopeerimisel mitmekesise väljundi:
Näide 5: kataloogi rekursiivne kopeerimine
Valiku -r kasutamine käsuga cp kopeerib kõik kataloogis olevad failid ja kaustad rekursiivselt teise asukohta. Selle stsenaariumi korral saate käsku cp kasutada järgmiselt:
$ cp -r kataloog1 kataloog2Näide:
Järgmises näites kopeeritakse kogu kaust 1 koos kõigi failidega kausta2.
Hiljem kontrollisin kausta2 sisu käsu ls abil. Kaust2 sisaldab nüüd allikakausta koopiat.
Näide 6: kataloogi rekursiivne kopeerimine arhiivi säilitades
Kasutades käsuga cp lülitit -a, saate teha kahte asja korraga:
- Kopeerige kataloogi failid rekursiivselt teise kataloogi
- Hoidke failide kopeerimisel puutumata õigused, ajatempel, sümboolsed lingid ja kõik sellised omadused.
Selle stsenaariumi korral saate käsku cp kasutada järgmiselt:
$ cp -a kataloog1 kataloog2Näide:
Järgmises näites kopeeritakse kogu kaust 1 koos kõigi failidega kausta2. Samuti arhiveeritakse failid hiljem kontrollituna käsuga 'ls -l'.
Näide 7: faili kopeerimine juhul, kui see on sihtfailist uuem
Mõnikord soovite faili sihtkataloogi kopeerida ainult siis, kui see on sihtfailist uuem. Seda saab teha käsu cp abil lülitit -u:
$ cp -u sourcefileORsourcedirectory / target / kataloogNäide:
Selles näites muutsin faili sample_file.txt minu lähtekaustast. Need failid kopeeriti juba enne faili muutmist sihtkausta. Seda võib näha käsu 'ls -l' järgmises väljundis:
Nüüd, kui kopeerisin lähtekausta sihtkausta, kinnitas paljusõnaline väljund, et kopeeritakse ainult minu redigeeritud fail.
Näide 8: kopeerige fail, kuid ärge kirjutage üle, kui sihtfail on juba olemas
Võite käsu cp käskida faili mitte üle kirjutada, kui see on sihtasendis juba olemas. Seda saab teha lüliti -n kaudu järgmiselt:
$ cp -n sourcefile / target / kataloogNäide:
Selles näites proovisin kõigepealt faili kopeerida sihtkohta, kus see juba olemas oli. -I-lüliti ajendas mind, kui ma tahan selle üle kirjutada.
Teises käsus lisasin lüliti -n. See eiras lülitit -i, kuid ei kirjutanud sihtkataloogis juba olemasolevat faili üle.
Näide 9: looge sümboolne link sihtkataloogi failile
Käsku cp lüliti -s abil saate lähtekoodifaili kopeerimise asemel luua sihtkaustas oleva sümboolse lingi lähtefailile.
$ cp -s sourcefile / target / kataloogNäide:
Järgmises näites lõin sümboolse lingi failile sample_file.txt sihtkaustas.
Hiljem kontrollisin sümboolse lingi olemasolu sihtkaustas käsuga 'ls -l'.
Näide 10: looge sihtkataloogis oleva faili jaoks kõva link
Kui loote kõva lingi teises kaustas olevale failile, ei kopeerita seda faili sihtkausta; selle asemel luuakse kõva link lähtefailile. Nii lähtefaili kui ka kopeeritud tugilingi inode number on sama. Tugeva lingi loomine on järgmine:
$ cp -l sourcefile / target / kataloogNäide:
Selles näites lõin kausta Dokumendid kindla lingi lähtefailile.
Käsu 'ls -il' abil kontrollisin, kas nii algsel failil kui ka kõvalingil on samad inode numbrid.
See oli kõik, mida peate teadma, et Linuxis cp-käsk hallata. Nende lülitite kombinatsiooni abil saate failide kopeerimise palju kohandatavamaks muuta.