Šajā rakstā minētās komandas un piemērus esam izpildījuši Debian 10 Buster sistēmā, taču tos var atkārtot gandrīz visos Linux distros.
Izmantojot lietojumprogrammu, var viegli piekļūt Linux komandrindai Terminal. Palaišanas programmas meklēšana šādi:
1. piemērs: Viena faila kopēšana mērķa direktorijā
Vienkāršākais komandas cp pielietojums ir viena avota faila kopēšana mērķa direktorijā. Šeit ir sintakse, kuru varat izmantot, lai to izdarītu:
$ cp avota fails / mērķis / direktorijsPiemērs:
Šajā piemērā es kopēju failu ar nosaukumu sample_file.txt uz mapi Dokumenti:
Vēlāk es ar komandu ls pārbaudīju faila klātbūtni mērķa mapē.
2. piemērs: Vairāku failu kopēšana mērķa direktorijā
Izmantojot komandu cp, vairākus failus varat kopēt mērķa direktorijā, izmantojot šādu sintaksi:
$ cp sourcefile1 sourcefile2 sourcefile3… / target / directoryPiemērs:
Šajā piemērā es kopēju divus failu paraugus mapē Dokumenti, izmantojot komandu cp:
Vēlāk es pārbaudīju šo failu klātbūtni mērķa mapē, izmantojot komandu ls.
3. piemērs: Failu kopēšana interaktīvā veidā
Ja jūsu mērķa mapē ir fails ar tādu pašu nosaukumu, varat izmantot komandu cp, lai pamudinātu jūs pirms mērķa faila pārrakstīšanas. -I slēdzi var izmantot šādā veidā:
$ cp -i avota fails / mērķis / direktorijsPiemērs:
Šajā piemērā fails ar nosaukumu_fails.txt jau atrodas mapē Dokumenti, tāpēc komanda cp ar karodziņu -i mani aicina, ja es vēlos to pārrakstīt. Fails tiks pārrakstīts, ja šajā uzvednē ievadīšu y.
4. piemērs: Failu kopēšana kopā ar daudzfunkcionālu izvadi
Raksturīga izeja izdrukā komandas darbību. To var iekļaut komandā cp ar -v slēdzi šādi:
$ cp -v avota fails / mērķis / direktorijsPiemērs:
Šajā piemērā varat redzēt, kā komanda cp kopējot komandu izdrukā daudzveidīgu izvadi:
5. piemērs: direktorija rekurzīva kopēšana
Izmantojot opciju -r ar komandu cp, visi direktorija faili un mapes rekursīvi tiek kopēti uz citu vietu. Šajā scenārijā jūs varat izmantot komandu cp:
$ cp -r direktorija1 direktorijs2Piemērs:
Šajā piemērā visa 1. mape ar visiem failiem tiks kopēta uz 2. mapi.
Vēlāk es pārbaudīju mapes 2 saturu, izmantojot komandu ls. Mapē2 tagad ir avota mapes kopija.
6. piemērs: direktorija rekurzīva kopēšana, saglabājot arhīvu
Izmantojot -a slēdzi ar komandu cp, jūs varat veikt divas lietas vienlaikus:
- Rekursīvi kopējiet direktorija failus uz citu direktoriju
- Kopējot failus, saglabājiet neskartas atļaujas, laika zīmogu, simboliskas saites un visas šādas īpašības.
Šajā scenārijā varat izmantot komandu cp:
$ cp -a direktorija1 direktorijs2Piemērs:
Šajā piemērā visa 1. mape ar visiem failiem tiks kopēta uz 2. mapi. Arī faili tiks arhivēti, kā vēlāk pārbaudīti, izmantojot komandu 'ls -l'.
7. piemērs: kopējiet failu, ja tas ir jaunāks par mērķa failu
Dažreiz vēlaties nokopēt failu mērķa direktorijā tikai tad, ja tas ir jaunāks par mērķa failu. To var izdarīt, izmantojot slēdzi -u ar komandu cp:
$ cp -u sourcefileORsourcedirectory / target / directoryPiemērs:
Šajā piemērā es rediģēju failu sample_file.txt no manas avota mapes. Šie faili jau tika nokopēti mērķa mapē, pirms es rediģēju failu. To var redzēt šādā komandas 'ls -l' izvadē:
Tagad, kad es nokopēju avota mapi mērķa mapē, ar izvērsto izvadi tika pārbaudīts, ka tiks kopēts tikai tas fails, kuru es esmu rediģējis.
8. piemērs: kopējiet failu, bet nepārrakstiet, ja mērķa fails jau pastāv
Jūs varat pateikt komandai cp nepārrakstīt failu, ja tas jau pastāv mērķa vietā. To var izdarīt, izmantojot slēdzi -n šādi:
$ cp -n avota fails / mērķis / direktorijsPiemērs:
Šajā piemērā es vispirms mēģināju kopēt failu mērķa vietā, kur tas jau pastāvēja. Slēdzis -i mani pamudināja, ja es vēlos to pārrakstīt.
Otrajā komandā es pievienoju slēdzi -n. Tas ignorēja slēdzi -i, taču nepārrakstīja jau esošo failu mērķa direktorijā.
9. piemērs: izveidojiet simbolisku saiti uz failu mērķa direktorijā
Izmantojot s slēdzi komandā cp, avota faila kopēšanas vietā varat izveidot simbolisku saiti uz avota failu mērķa mapē.
$ cp -s avota fails / mērķis / direktorijsPiemērs:
Šajā piemērā es izveidoju simbolisku saiti uz failu sample_file.txt mērķa mapē.
Vēlāk es pārbaudīju simboliskās saites klātbūtni mērķa mapē, izmantojot komandu 'ls -l'.
10. piemērs: izveidojiet cieto saiti uz failu mērķa direktorijā
Izveidojot cieto saiti uz failu citā mapē, fails netiek kopēts mērķa mapē; tā vietā tiek izveidota cietā saite uz avota failu. Gan avota faila, gan kopētās cietās saites inoda numurs ir vienāds. Šādi izveido cieto saiti:
$ cp -l avota fails / mērķis / direktorijsPiemērs:
Šajā piemērā es izveidoju cieto saiti uz avota failu mapē Dokumenti.
Izmantojot komandu 'ls -il', es pārliecinājos, ka gan sākotnējam failam, gan cietajai saitei ir vienādi inodes numuri.
Tas bija viss, kas jums bija jāzina, lai apgūtu cp komandu Linux. Izmantojot šo pārslēgto kombināciju, failu kopēšanu var padarīt daudz pielāgojamāku.