Uwusebenzisa njani Umyalelo we-cp ngokufanelekileyo kwiLinux [Imizekelo ye-14]


UMfutshane: Kwesi sikhokelo ekulula ukusilandela, sizakuxoxa ngemizekelo esebenzayo yomyalelo we-cp. Emva kokulandela esi sikhokelo, abasebenzisi baya kukwazi ukukopa iifayile kunye nezalathisi ngokulula kwiLinux usebenzisa ujongano lomgca womyalelo.

Njengabasebenzisi beLinux, sinxibelelana neefayile zokukopa kunye nezalathisi. Ngokuqinisekileyo, sinokusebenzisa umphathi wefayile yomzobo ukwenza umsebenzi wokukhuphela. Nangona kunjalo, uninzi lwabasebenzisi beLinux bakhetha ukusebenzisa umyalelo we-cp ngenxa yokulula kunye nokusebenza okutyebileyo.

Kwesi sikhokelo esinobuhlobo kwabaqalayo, siya kufunda malunga nomyalelo we-cp. Njengoko igama libonisa, umyalelo we-cp usetyenziselwa ukukopa iifayile kunye nabalawuli kwindlela enikiweyo.

Kuso sonke esi sikhokelo, siya kuqonda ukusetyenziswa komyalelo we-cp usebenzisa imizekelo ebonakalayo enokusetyenziswa imihla ngemihla.

Ngoko masiqalise.

Isiqulatho

Cp Command Syntax

Isivakalisi somyalelo we-cp siyafana neminye imiyalelo yeLinux. Kwinqanaba eliphezulu, yahlulwe yangamacandelo amabini - ukhetho kunye neengxabano:

$ cp [OPTIONS] <SOURCE> <DEST>
$ cp [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>

Kwisintaksi esingentla, izibiyeli ezisisikwere ([]) zimele iimpikiswano ezikhethwayo ngelixa izibiyeli ezizi-angular (<>) zimele iingxoxo ezinyanzelekileyo.

1. Ukopisha njani iFayile kwiLinux

Olunye usetyenziso olusisiseko lomyalelo we-cp kukukhuphela ifayile kulawulo lwangoku. Amaxesha amaninzi abasebenzisi benza lo msebenzi ukuthatha i-backup yoqwalaselo olubalulekileyo.

Ngokomzekelo, sihlala sisenza ikopi yokugcina ifayile /etc/ssh/sshd_config ngaphambi kokuhlaziya uqwalaselo lwe-SSH.

Ukuqonda ukusetyenziswa, makhe senze ifayile elula:

$ touch file-1.txt

Okulandelayo, yenza ikopi yefayile usebenzisa lo myalelo ulandelayo:

$ cp file-1.txt file-2.txt

2. Bonisa iCopy Command Progress

Kumzekelo wangaphambili, sisebenzise umyalelo we-ls ukuqinisekisa ukuba umsebenzi wokukhuphela ifayile uphumelele na okanye hayi. Nangona kunjalo, akukho ngqiqweni ukusebenzisa omnye umyalelo nje ukuqinisekisa isiphumo semiyalelo yangaphambili.

Kwiimeko ezinjalo, sinokwenza imo ye-verbose ngokusebenzisa i- -v ukhetho, olubonelela ngokuxilongwa kwifayile nganye eqhutywe.

Masenze ikopi yefayile-1.txt yefayile sisebenzisa lo myalelo ulandelayo:

$ cp -v file-1.txt file-3.txt

Kwimveliso engentla, utolo lumele ifayile ekotshwayo. Ingxoxo yecala lasekhohlo yifayile yemvelaphi ngelixa impikiswano yecala lasekunene yifayile ekuyiwa kuyo.

3. Uzikopa njani iiFayile ezininzi kuluhlu

Ukuza kuthi ga ngoku sisebenze ngefayile enye kunye nolawulo lwangoku olusebenzayo kuphela. Nangona kunjalo, kwindawo yokuvelisa ngokwenene, kufuneka sisebenze kunye nenani elikhulu leefayile. Enye yeemeko zosetyenziso oluqhelekileyo kwiimeko ezinjalo kukukhuphela iifayile ezininzi kulawulo olunye.

Ngokucacileyo, sinokwenza umyalelo we-cp amaxesha amaninzi ukuyifumana, kodwa leyo ayiyi kuba yeyona ndlela isebenzayo. Ukwenza umsebenzi onjalo ngokufanelekileyo, sinokusebenzisa enye indlela yesivakalisi yomyalelo we-cp.

Ke, kuqala, yenza uluhlu olutsha olunegama elithi dir-1:

$ mkdir dir-1

Ngoku, masikope zonke iifayile ezintathu kwi-dir-1 directory usebenzisa umyalelo omnye:

$ cp -v file-1.txt file-2.txt file-3.txt dir-1

Imveliso engentla ibonisa ukuba zonke iifayile zikhutshelwe kwi-dir-1 directory. Kwakhona, kubalulekile ukuqaphela ukuba, ukusebenzisa le syntax eyenye uvimba weefayili kufuneka ebekhona kwaye kufuneka ibe yingxoxo yokugqibela yomyalelo.

4. Ungakunqanda njani ukubhala ngaphezulu kweFayile

Ngokungagqibekanga, umyalelo we-cp uthatha indawo yefayile ekuyiwa kuyo, okuthetha ukuba iya kubhala ngaphezulu ifayile ukuba ikhona kwindawo enegama elifanayo. Nangona kunjalo, singakwazi ukukhubaza le ndlela yokuziphatha engagqibekanga ngokusebenzisa i -n ukhetho.

Ukuqonda oku, makhe sizame ukubhala ngaphezulu ifayile ekhoyo:

$ cp -n -v file-1.txt file-2.txt

Kulo mzekelo, sisebenzise i--v ukhetho lokubonisa ukuba ifayile-2.txt ifayile ayibhalwanga ngaphezulu.

5. Uyibhala njani ngaphezulu iFayile ngoQinisekiso

Kumzekelo wangaphambili, sibone indlela yokuphepha ukubhala ngaphezulu kwefayile yendawo ekuyiwa kuyo. Nangona kunjalo, ngamanye amaxesha sifuna ukubhala ngaphezulu indawo ekuyiwa kuyo ifayile ngendlela ekhuselekileyo.

Kwiimeko ezinjalo, sinokusebenzisa i -i ukhetho lomyalelo ukwenza umsebenzi wokukhuphela usebenze. Olu khetho lubonisa umyalezo wesilumkiso kwaye ulindele ukuqinisekiswa komsebenzisi ngaphambi kokubhala ngaphezulu ifayile.

Ukubonisa oku, makhe sizame ukubhala ngaphezulu ifayile ekhoyo:

$ cp -i file-1.txt file-2.txt

cp: overwrite 'file-2.txt'?

Njengoko sibona, umyalelo ulindele ukuqinisekiswa. Njengeminye imiyalelo yeLinux, sinokusebenzisa y ukuqhubeka okanye n ukulahla ukusebenza.

Le ndlela yokuziphatha engagqibekanga engasebenziyo yomyalelo we-cp ayikhuselekanga kakhulu. Kukho amathuba okuba umsebenzisi angabhala ngaphezulu ubumbeko olubalulekileyo ngempazamo. Yiyo loo nto ezinye izinikezelo zeLinux zinyanzelisa impatho esebenzayo ngokungagqibekanga usebenzisa isibizo somyalelo:

$ alias cp='cp -i'

6. Bhala phezu kweFayile Kuphela Ukuba uMthombo nguMtsha

Kumzekelo odlulileyo, sibone indlela yokusebenzisa imo yokunxibelelana. Nangona kunjalo, ngamanye amaxesha, umsebenzisi unokubhala ngaphezulu ifayile entsha ngokungazi.

Ukunqanda iimeko ezinjalo ezinemposiso, sinokusebenzisa i -u ukhetho, oluzama ukusebenza ngokukopa kuphela ukuba umthombo mtsha kunendawo ekuyiwa kuyo okanye ukuba ifayile ayikho kwindawo ekuyiwa kuyo.

Okokuqala, hlaziya isitampu sexesha sefayile yomthombo:

$ touch -t 10101010 file-1.txt
$ ls -l file-1.txt

Kulo mzekelo ungasentla, sisebenzise i--t ukhetho lomyalelo wokuchukumisa ukuseta isitampu sexesha sefayile kwi-10-Oct-2010.

Okulandelayo, masihlaziye isitampu sexesha sefayile yokufikela kwixesha langoku:

$ touch file-2.txt

Ngoku, makhe sizame ukwenza umsebenzi wokukhuphela usebenzisa i -u ukhetho:

$ cp -u -v file-1.txt file-2.txt

Apha, sinokubona ukuba umsebenzi wokukopa awuzanywanga kuba ifayile yokufikela intsha kunomthombo.

Okokugqibela, masitshintshe umthombo kunye neengxoxo zendawo kwaye senze umsebenzi wokukopa:

$ cp -u -v file-2.txt file-1.txt

Kule mveliso ingasentla, sinokubona ukuba umsebenzi wokukhuphela uyaphumelela kuba ifayile yemvelaphi yintsha kunendawo ekuyiwa kuyo.

7. Uyigcina njani iFayile phambi kokuBhala ngaphezulu

Singayalela umyalelo we-cp ukuba uthathe ugcino lwefayile yendawo ekuyiwa kuyo ngaphambi kokuba uyibhale ngaphezulu. Ukufezekisa oku sinokusebenzisa i- --backup ukhetho, olwenza i-backups ezenzekelayo.

$ cp --backup=numbered -v file-1.txt file-2.txt

Kulo mzekelo, sisebenzise umgaqo-nkqubo oneenombolo wogcino. Lo mgaqo-nkqubo usebenzisa amanani ongezelelweyo kumagama efayile egcinwayo.

Ukuqonda oku, masenze umyalelo ofanayo amaxesha amaninzi kwaye sijonge imveliso:

$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt

8. Unganyanzelela njani iKopi yokubhala ngaphezulu kweFayile

Kwimizekelo embalwa yangaphambili, sibone indlela yokubhala ngaphezulu kwefayile ngendlela ekhuselekileyo. Nangona kunjalo, kwezinye iimeko ezinqabileyo, imfuneko kukubhala ngaphezulu kwefayile. Nangona kunjalo, akukho siqinisekiso sokuba umsebenzi uya kuphumelela ngalo lonke ixesha.

Umzekelo, umsebenzi wokukhuphela uya kusilela ukuba ifayile yendawo ayinazo iimvume zokubhala. Makhe sizekelise oku ngomzekelo.

Okokuqala, tshintsha iimvume zefayile yendawo ekuyiwa kuyo:

$ chmod 444 file-2.txt
$ ls -l file-2.txt

Ngoku, makhe sizame ukubhala phezu kwefayile-2.txt ifayile:

$ cp file-1.txt file-2.txt

Kule mveliso ingentla, siyabona ukuba umyalelo awuphumelelanga ngemvume ekhanyelweyo yempazamo.

Ukoyisa lo mda, sinokusebenzisa i--f ukhetho, olucima iifayile zendawo kwaye lizame umsebenzi wokukopisha ukuba ifayile yokufikela ayikwazi ukuvulwa.

Ngoku, masisebenzise i -f ukhetho ukubhala ngaphezulu ifayile ngamandla:

$ cp -f -v file-1.txt file-2.txt

9. Uyisusa njani iFayile yokuFikela phambi kokuba uyikope

Kumzekelo wangaphambili, sibone indlela yokususa ifayile yendawo ukuba kukho impazamo ngelixa usebenza. Nangona kunjalo, ngamanye amaxesha imfuneko kukususa ifayile yendawo yokuqala kwaye wenze umsebenzi wokukopisha.

Ukuzalisekisa loo mfuno, sinokusebenzisa i --susa-indawo yokuya kuyo ukhetho.

$ cp --remove-destination -v file-1.txt file-2.txt

Kule mveliso ingentla, sinokubona ukuba umyalelo we-cp uqala ngokususa ifayile yendawo kwaye wenze umsebenzi wokukopisha.

10. Uyenza njani iFayile yoQhagamshelwano olunzima endaweni yokukopa

Singenza ikhonkco eliqinileyo endaweni yokwenza ikopi entsha yefayile yomthombo. Olu khetho ludlala indima ebalulekileyo xa kukho ukunqongophala kwendawo yediski.

Ke, masisebenzise i -l ukhetho ukwenza ikhonkco elinzima:

$ cp -l -v file-1.txt file-4.txt

Ngoku, makhe sijonge amanani e-inode yazo zombini iifayile ukuze siqinisekise amakhonkco anzima:

$ ls -i1 file-1.txt file-4.txt

Kule mveliso ingasentla, amanani kwikholamu yokuqala amele amanani e-inode.

11. Uyenza njani iFayile yeLinki eSoft endaweni yokuKhuphela

Ngendlela efanayo, singenza ikhonkco elithambileyo endaweni yokwenza ikopi entsha usebenzisa i- -s ukhetho njengoko kubonisiwe ngezantsi:

$ cp -s -v file-1.txt file-5.txt

Ngoku, masiqinisekise ukuba ikhonkco lokomfuziselo lenziwe ngokuchanekileyo:

$ ls -l file-5.txt

Kwisiphumo esingentla, iikholamu zokugqibela zibonisa unxulumano lwekhonkco lomfuziselo.

12. Uzigcina njani iimpawu zeFayile ngelixa ukopa

Kukho iimpawu ezahlukeneyo ezinxulunyaniswa nefayile, njengexesha layo lofikelelo, ixesha lolungiso, iimvume, njalo njalo. Ngokungagqibekanga, ezi mpawu azigcinwanga ngelixa ukhuphela ifayile. Ukubhala ngaphezulu le ndlela yokuziphatha engagqibekanga sinokusebenzisa i -p ukhetho.

Ukuqonda oku, kuqala, hlaziya isitampu sexesha sefayile-1.txt:

$ touch -t 10101010 file-1.txt

Ngoku, masenze ikopi yale fayile ngokugcina zonke iimpawu zayo:

$ cp -p -v file-1.txt file-6.txt

Okokugqibela, qinisekisa isitampu sexesha sefayile-6.txt yefayile:

$ ls -l file-6.txt

13. Uwenza njani umSebenzi wokuKhuphela ngokuNgqongileyo

Ukuza kuthi ga ngoku siye sabona indlela yokukopa ifayile enye. Nangona kunjalo, amaxesha amaninzi kufuneka sikhuphele zonke iifayile kunye ne-sub-directory zoluhlu oluthile.

Kwiimeko ezinjalo, sinokusebenzisa imodi yokubuyisela okanye ukusebenzisa i- -r okanye -R ukhetho.

Ke, masenze uluhlu kwaye songeze iifayile ezimbalwa kunye nee-directory eziphantsi kwayo:

$ mkdir -p dir-1/dir-2
$ touch dir-1/file-1.txt dir-1/dir-2/file-2.txt

Okulandelayo, qinisekisa ukuba ulwakhiwo lolawulo lwenziwe ngokuchanekileyo:

$ tree dir-1

Ngoku, masikope uluhlu lwe-dir-1 ngokuphindaphindiweyo sisebenzisa lo myalelo ulandelayo:

$ cp -r -v dir-1 dir-3

Okokugqibela, qinisekisa ukuba zonke iifayile kunye noovimba beefayili bakhutshelwe ngempumelelo:

$ tree dir-3

14. UKopela njani iizalathisi ezininzi

Ngokufana neefayile, sinokukopa abalawuli abaninzi ngokuphindaphindiweyo sisebenzisa umyalelo omnye. Nangona kunjalo, ukufezekisa oku uvimba weefayili wendawo yokufikela kufuneka ebekhona kwaye kufuneka ibe yingxoxo yokugqibela kumyalelo. Makhe siqonde oku ngomzekelo.

Okokuqala, yenza uvimba weefayili omtsha:

$ mkdir dir-4

Ngoku, masikope i-dir-1 kunye ne-dir-3 abalawuli kwi-dir-4 directory sisebenzisa lo myalelo ungezantsi:

$ cp -r -v dir-1 dir-3 dir-4

Ngendlela efanayo, sinokusebenzisa i -t ukhetho lomyalelo ukufezekisa umphumo ofanayo. Olu khetho lusivumela ukuba sichaze ulawulo lwendawo. Ke sinokuyisebenzisa njengengxoxo yokuqala ngokunjalo:

$ cp -t dir-4 -r -v dir-1 dir-3

Kweli nqaku, sixoxe ngendlela yokukopa iifayile kunye nezalathisi usebenzisa i-cp command. Abaqalayo banokubhekisa kule mizekelo kubomi bemihla ngemihla ngelixa besebenza neenkqubo zeLinux.

Usenokuthanda:

  • Inkqubela-phambili – Bonisa ipesenti yeDatha eKopiweyo ye (cp, mv, dd, tar) imiyalelo
  • Jonga iNkqubela phambili ye (Khuphela/Eyogcino/Compress) Idatha usebenzisa ‘pv’ Umyalelo
  • Umyalelo wokuKhuphela oPhezulu-Ibonisa iBha yeNkqubela ngelixa ukopa iiFayile/iifolda ezinkulu kwiLinux

Ngaba uyawazi omnye umzekelo obalaseleyo womyalelo we-cp kwiLinux? Sazise izimvo zakho kwizimvo ezingezantsi.