Šiame straipsnyje paminėtas komandas ir pavyzdžius vykdėme „Debian 10 Buster“ sistemoje, tačiau juos galite pakartoti beveik visuose „Linux“ skyriuose.
„Linux“ komandų eilutę „Terminal“ galima lengvai pasiekti per „Application“. Paleidimo priemonės paieška taip:
1 pavyzdys: vieno failo nukopijavimas į tikslinį katalogą
Paprasčiausias naudojimasis komanda cp yra vieno šaltinio failo nukopijavimas į tikslinį katalogą. Štai sintaksė, kurią galite naudoti tam:
$ cp sourcefile / target / directoryPavyzdys:
Šiame pavyzdyje kopijuoju failą pavadinimu sample_file.txt į aplanką Dokumentai:
Vėliau, naudodamas komandą ls, patikrinau failo buvimą tiksliniame aplanke.
2 pavyzdys: kelių failų kopijavimas į tikslinį katalogą
Naudodami komandą cp, galite nukopijuoti kelis failus į tikslinį katalogą naudodami šią sintaksę:
$ cp sourcefile1 sourcefile2 sourcefile3… / target / directoryPavyzdys:
Šiame pavyzdyje aš nukopijuoju du failų pavyzdžius į aplanką Dokumentai naudodamas komandą cp:
Vėliau, naudodamas komandą ls, patikrinau šių failų buvimą tiksliniame aplanke.
3 pavyzdys: Failų kopijavimas interaktyviu būdu
Jei jūsų aplanke yra failas tuo pačiu pavadinimu, galite naudoti komandą cp, kad paragintumėte jus prieš perrašydami tikslinį failą. Jungiklį -i galite naudoti tokiu būdu:
$ cp -i sourcefile / target / katalogasPavyzdys:
Šiame pavyzdyje failas pavadintas sample_file.txt jau yra mano aplanke Dokumentai, todėl komanda cp su -i vėliava paragina mane, jei noriu jį perrašyti. Failas bus perrašytas, jei šioje eilutėje įvesiu y.
4 pavyzdys: Failų kopijavimas kartu su „Verbose“ išvestimi
Verbose išvestyje atspausdinama, ką komanda daro. Tai galima įtraukti į komandą cp su -v jungikliu taip:
$ cp -v sourcefile / target / katalogasPavyzdys:
Šiame pavyzdyje galite pamatyti, kaip komanda cp spausdina išsamų išvestį, kai kopijuojate komandą:
5 pavyzdys: katalogo kopijavimas rekursyviai
Naudojant parinktį -r su komanda cp, visi katalogo failai ir aplankai rekursyviai nukopijuojami į kitą vietą. Štai kaip galite naudoti komandą cp šiame scenarijuje:
$ cp -r katalogas1 katalogas2Pavyzdys:
Šiame pavyzdyje visas aplankas 1 su visais failais bus nukopijuotas į aplanką2.
Vėliau patikrinau aplanko2 turinį naudodamas komandą ls. „Folder2“ dabar yra šaltinio aplanko kopija.
6 pavyzdys: Katalogo kopijavimas rekursyviai laikant archyvą
Naudodami jungiklį -a su komanda cp, galite atlikti du dalykus vienu metu:
- Rekursyviai nukopijuokite katalogo failus į kitą katalogą
- Kopijuodami failus palikite nepažeistus leidimus, laiko žymą, simbolines nuorodas ir visas tokias savybes.
Štai kaip galite naudoti komandą cp šiame scenarijuje:
$ cp -a katalogas1 katalogas2Pavyzdys:
Šiame pavyzdyje visas 1 aplankas su visais failais bus nukopijuotas į aplanką2. Be to, failai bus archyvuojami kaip patvirtinti vėliau naudojant komandą 'ls -l'.
7 pavyzdys: nukopijuokite failą, jei jis yra naujesnis nei tikslinis failas
Kartais norite nukopijuoti failą į tikslinį katalogą tik tuo atveju, jei jis yra naujesnis nei tikslinis failas. Tai galima padaryti naudojant -u jungiklį su komanda cp:
$ cp -u sourcefileORsoursedirectory / target / directoryPavyzdys:
Šiame pavyzdyje redagavau failą sample_file.txt iš mano šaltinio aplanko. Šie failai jau buvo nukopijuoti į tikslinį aplanką, kol redagavau failą. Tai galima pamatyti šiame „ls -l“ komandos išvestyje:
Kai nukopijavau šaltinio aplanką į tikslinį aplanką, išsami išvestis patvirtino, kad bus nukopijuotas tik tas failas, kurį redagavau aš.
8 pavyzdys: nukopijuokite failą, bet neperrašykite, jei tikslinis failas jau yra
Galite nurodyti komandai cp neperrašyti failo, jei jis jau yra tikslinėje vietoje. Tai galima padaryti per jungiklį -n taip:
$ cp -n sourcefile / target / katalogasPavyzdys:
Šiame pavyzdyje pirmiausia bandžiau nukopijuoti failą į tikslinę vietą, kur ji jau egzistavo. „-I“ jungiklis paskatino mane, jei noriu jį perrašyti.
Antroje komandoje pridėjau jungiklį -n. Nepaisė jungiklio -i, bet neperrašė jau esančio failo, esančio tiksliniame kataloge.
9 pavyzdys: sukurkite simbolinę nuorodą į failą tiksliniame kataloge
Naudodamiesi s jungikliu cp komandoje, galite sukurti simbolinę nuorodą į šaltinio failą tiksliniame aplanke, o ne nukopijuoti šaltinio failą.
$ cp -s sourcefile / target / katalogasPavyzdys:
Šiame pavyzdyje sukūriau simbolinę nuorodą į failą sample_file.txt aplanke.
Vėliau, naudodamas komandą „ls -l“, patikrinau, ar nėra tikslinės aplanko simbolinės nuorodos.
10 pavyzdys: sukurkite sudėtinę nuorodą į failą tiksliniame kataloge
Kai sukuriate sudėtinę nuorodą į failą kitame aplanke, failas nėra nukopijuojamas į tikslinį aplanką; vietoj to sukuriama kietoji nuoroda į šaltinio failą. Tiek šaltinio failo, tiek nukopijuotos standžiosios nuorodos inodo numeris yra tas pats. Štai kaip sukurti tvirtą nuorodą:
$ cp -l sourcefile / target / directoryPavyzdys:
Šiame pavyzdyje aš sukūriau sudėtinę nuorodą į šaltinio failą aplanke Dokumentai.
Naudodamas komandą „ls -il“, aš įsitikinau, kad tiek pirminio failo, tiek standžiosios nuorodos inodo numeriai yra vienodi.
Tai buvo viskas, ko jums reikėjo žinoti, norint įsisavinti „cp“ komandą sistemoje „Linux“. Naudodami šių perjungimų derinį, failų kopijavimą galite padaryti daug labiau pritaikomą.