Yadda ake amfani da umarnin cp da kyau a cikin Linux [Misalan 14]


Taƙaice: A cikin wannan jagorar mai sauƙin bi, za mu tattauna wasu misalai masu amfani na umarnin cp. Bayan bin wannan jagorar, masu amfani za su iya kwafin fayiloli da kundayen adireshi cikin sauƙi a cikin Linux ta amfani da layin umarni.

A matsayin masu amfani da Linux, muna hulɗa tare da kwafin fayiloli da kundayen adireshi. Tabbas, zamu iya amfani da mai sarrafa fayil mai hoto don yin aikin kwafin. Koyaya, yawancin masu amfani da Linux sun gwammace yin amfani da umarnin cp saboda sauƙin sa da ingantaccen aiki.

A cikin wannan jagorar abokantaka na farawa, za mu koyi game da umarnin cp. Kamar yadda sunan ke nunawa, ana amfani da umarnin cp don kwafi fayiloli da kundayen adireshi a wata hanyar da aka bayar.

A cikin wannan jagorar, za mu fahimci yadda ake amfani da umarnin cp ta amfani da misalai masu amfani waɗanda za a iya amfani da su kowace rana.

Don haka mu fara.

Teburin Abubuwan Ciki

Cp Command Syntax

Rubutun umarnin cp yayi kama da sauran umarnin Linux. A babban matakin, an kasu kashi biyu - zaɓuɓɓuka da muhawara:

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

A cikin mahaɗin da ke sama, maƙallan murabba'in ([]) suna wakiltar mahawara ta zaɓi yayin da maƙallan kusurwa (<>) suna wakiltar takaddamar tilas.

1. Yadda ake Kwafi Fayil a Linux

Ɗaya daga cikin ainihin amfani da umarnin cp shine kwafin fayil zuwa cikin kundin adireshi na yanzu. Yawancin lokaci masu amfani suna yin wannan aikin don ɗaukar ajiyar mahimman tsari.

Misali, sau da yawa muna ƙirƙirar kwafin madadin /etc/ssh/sshd_config fayil kafin sabunta tsarin SSH.

Don fahimtar amfanin, bari mu ƙirƙiri fayil mai sauƙi:

$ touch file-1.txt

Na gaba, ƙirƙiri kwafin fayil ɗin ta amfani da umarni mai zuwa:

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

2. Nuna Ci gaban Kwafi na Umurnin

A cikin misalin da ya gabata, mun yi amfani da umarnin ls don tabbatar da ko aikin kwafin fayil ɗin ya yi nasara ko a'a. Koyaya, ba shi da ma'ana don amfani da ƙarin umarni ɗaya kawai don tabbatar da sakamakon umarnin da suka gabata.

A irin waɗannan lokuta, za mu iya kunna yanayin magana ta amfani da zaɓin -v, wanda ke ba da bincike ga kowane fayil da aka sarrafa.

Bari mu yi kwafin fayil-1.txt ta amfani da umarni mai zuwa:

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

A cikin abin da ke sama, kibiya tana wakiltar fayil ɗin da ake kwafi. Hujjar gefen hagu shine fayil ɗin tushe yayin da hujjar gefen dama shine fayil ɗin manufa.

3. Yadda ake Kwafi Fayiloli da yawa zuwa Directory

Ya zuwa yanzu mun yi aiki tare da fayil guda ɗaya da kundin adireshin aiki na yanzu kawai. Koyaya, a cikin yanayin samarwa na ainihi, dole ne mu yi aiki tare da babban adadin fayiloli. Ɗaya daga cikin al'amuran da aka saba amfani da su a cikin irin waɗannan wurare shine kwafin fayiloli da yawa a cikin shugabanci guda.

Babu shakka, za mu iya aiwatar da umarnin cp sau da yawa don cimma shi, amma hakan ba zai zama hanya mafi inganci ba. Don yin irin wannan aiki yadda ya kamata, za mu iya amfani da madadin tsarin haɗin gwiwar umarnin cp.

Don haka, da farko, ƙirƙirar sabon kundin adireshi mai suna dir-1:

$ mkdir dir-1

Yanzu, bari mu kwafa duk fayiloli guda uku a cikin directory dir-1 ta amfani da umarni guda:

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

Fitowar da ke sama tana nuna cewa an kwafi duk fayiloli zuwa directory dir-1. Har ila yau, yana da mahimmanci a lura cewa, don amfani da wannan madadin syntax directory ɗin dole ne ya kasance riga kuma dole ne ya zama hujja ta ƙarshe na umarnin.

4. Yadda Ake Gujewa Rubutun Fayil

Ta hanyar tsoho, umarnin cp yana maye gurbin fayil ɗin da aka nufa, wanda ke nufin zai sake rubuta fayil ɗin idan ya kasance a wurin da ake nufi da suna iri ɗaya. Koyaya, zamu iya kashe wannan tsohuwar dabi'a ta amfani da zaɓin -n.

Don fahimtar wannan, bari mu yi ƙoƙarin sake rubuta fayil ɗin da ke akwai:

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

A cikin wannan misalin, mun yi amfani da zaɓin -v don nuna cewa fayil-2.txt ba a sake rubuta shi ba.

5. Yadda ake Rubuta Fayil tare da Tabbatarwa

A cikin misalin da ya gabata, mun ga yadda za a guje wa sake rubuta fayil ɗin da aka nufa. Koyaya, wani lokacin muna so mu sake rubuta wurin da fayil ɗin yake a hanya mafi aminci.

A irin waɗannan lokuta, za mu iya amfani da -i zaɓi na umarnin don yin aikin kwafin ya zama m. Wannan zaɓi yana nuna saƙon faɗakarwa kuma yana jiran tabbacin mai amfani kafin sake rubuta fayil ɗin.

Don kwatanta wannan, bari mu yi ƙoƙarin sake rubuta fayil ɗin da ke akwai:

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

cp: overwrite 'file-2.txt'?

Kamar yadda muke iya gani, umarnin yana jiran tabbaci. Kamar sauran dokokin Linux, za mu iya amfani da y don ci gaba ko n don soke aikin.

Wannan tsohuwar dabi'ar rashin haɗin kai na umarnin cp ba shi da aminci sosai. Akwai yuwuwar mai amfani zai iya sake rubuta mahimman tsari bisa kuskure. Don haka wasu rarrabawar Linux suna tilasta halayyar hulɗa ta hanyar tsoho ta amfani da umarnin laƙabi:

$ alias cp='cp -i'

6. Yi Rubutun Fayil Kawai Idan Tushen Yafi Sabuwa

A cikin misalin da ya gabata, mun ga yadda ake amfani da yanayin hulɗa. Koyaya, wani lokacin, mai amfani zai iya sake rubuta sabon fayil ɗin ba da gangan ba.

Don guje wa irin waɗannan lokuta masu saurin kuskure, za mu iya amfani da zaɓi na -u, wanda ke ƙoƙarin yin kwafin aiki kawai idan tushen ya kasance sababbi fiye da inda ake nufi ko kuma idan fayil ɗin ba ya nan a wurin.

Da farko, sabunta tambarin lokaci na fayil ɗin tushe:

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

A cikin misalin da ke sama, mun yi amfani da -t zaɓi na umarnin taɓawa don saita tambarin fayil ɗin zuwa 10-Oct-2010.

Na gaba, bari mu sabunta tambarin lokaci na fayil ɗin manufa zuwa lokacin yanzu:

$ touch file-2.txt

Yanzu, bari mu yi ƙoƙarin yin aikin kwafi ta amfani da zaɓin -u:

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

Anan, zamu iya ganin cewa ba a yi ƙoƙarin kwafin aikin ba saboda fayil ɗin da aka nufa ya fi sabon tushe.

A ƙarshe, bari mu musanya tushen da mahawararmu kuma mu yi aikin kwafin:

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

A cikin fitarwa na sama, zamu iya lura cewa aikin kwafin ya yi nasara saboda fayil ɗin tushen ya fi sabon wuri.

7. Yadda ake Ajiyayyen Fayil Kafin Rubutu

Za mu iya ba da umarnin cp don ɗaukar madadin fayil ɗin da aka nufa kafin mu sake rubuta shi. Don cimma wannan za mu iya amfani da zaɓin --backup, wanda ke aiwatar da madogara ta atomatik.

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

A cikin wannan misalin, mun yi amfani da manufar madadin mai lamba. Wannan manufar tana amfani da ƙarin lambobi a cikin sunayen fayil ɗin madadin.

Don fahimtar wannan, bari mu aiwatar da umarni iri ɗaya sau da yawa kuma mu lura da fitarwa:

$ 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. Yadda Ake Tilasta Kwafi zuwa Rubutun Fayil

A cikin ƴan misalan da suka gabata, mun ga yadda ake sake rubuta fayil ɗin a hanya mafi aminci. Koyaya, a wasu lokuta da ba kasafai ba, abin da ake buƙata shine a sake rubuta fayil ɗin. Koyaya, babu tabbacin cewa aikin zai yi nasara kowane lokaci.

Misali, aikin kwafin zai gaza idan fayil ɗin da aka nufa bashi da izinin rubutawa. Bari mu kwatanta wannan da misali.

Da farko, canza izini na fayil ɗin manufa:

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

Yanzu, bari mu yi ƙoƙarin sake rubuta fayil-2.txt fayil:

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

A cikin fitowar da ke sama, muna iya ganin cewa umarnin ya gaza tare da izinin hana kuskure.

Don shawo kan wannan ƙayyadaddun, za mu iya amfani da zaɓi na -f, wanda ke share fayilolin da aka nufa kuma yana ƙoƙarin yin kwafin fayil ɗin idan ba za a iya buɗe fayil ɗin manufa ba.

Yanzu, bari mu yi amfani da zaɓin -f don sake rubuta fayil ɗin da ƙarfi:

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

9. Yadda Ake Cire Fayil ɗin Manufa Kafin Kwafi

A cikin misalin da ya gabata, mun ga yadda ake cire fayil ɗin da aka nufa idan akwai kuskure yayin aiki da shi. Koyaya, wani lokacin abin da ake buƙata shine cire fayil ɗin da aka nufa da farko sannan a aiwatar da aikin kwafi.

Don cika irin wannan buƙatun, za mu iya amfani da zaɓin --remove-destination.

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

A cikin fitowar da ke sama, za mu iya ganin cewa umurnin cp ya fara cire fayil ɗin da aka nufa sannan ya yi aikin kwafin.

10. Yadda ake Kirkirar Hard Link File maimakon Copy

Za mu iya ƙirƙirar hanyar haɗi mai wuya maimakon ƙirƙirar sabon kwafin fayil ɗin tushen. Wannan zaɓi yana taka muhimmiyar rawa lokacin da akwai ƙarancin sarari diski.

Don haka, bari mu yi amfani da zaɓin -l don ƙirƙirar hanyar haɗi mai wuya:

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

Yanzu, bari mu bincika lambobin inode na fayilolin biyu don tabbatar da hanyoyin haɗin kai:

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

A cikin abin da ke sama, lambobi a shafi na farko suna wakiltar lambobin inode.

11. Yadda Ake Kirkirar Fayil Mai Lalauci Mai Dadi A maimakon Kwafi

Hakazalika, za mu iya ƙirƙirar hanyar haɗi mai laushi maimakon ƙirƙirar sabon kwafi ta amfani da zaɓin -s kamar yadda aka nuna a ƙasa:

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

Yanzu, bari mu tabbatar da cewa an ƙirƙiri hanyar haɗin yanar gizo daidai:

$ ls -l file-5.txt

A cikin fitarwar da ke sama, ginshiƙai na ƙarshe suna wakiltar alamar haɗin gwiwa.

12. Yadda Ake Kiyaye Halayen Fayil Yayin Kwafi

Akwai halaye daban-daban masu alaƙa da fayil ɗin, kamar lokacin samun damar sa, lokacin gyarawa, izini, da sauransu. Ta hanyar tsohuwa, waɗannan sifofin ba a kiyaye su yayin yin kwafin fayil ɗin. Don soke wannan tsohuwar dabi'ar za mu iya amfani da zaɓin -p.

Don fahimtar wannan, da farko, sabunta tambarin lokaci na fayil-1.txt:

$ touch -t 10101010 file-1.txt

Yanzu, bari mu ƙirƙiri kwafin wannan fayil ta adana duk halayensa:

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

A ƙarshe, tabbatar da timestamp na fayil-6.txt fayil:

$ ls -l file-6.txt

13. Yadda ake Kwafi Operation akai-akai

Ya zuwa yanzu mun ga yadda ake kwafi fayil guda. Koyaya, sau da yawa dole ne mu kwafi duk fayiloli da ƙananan kundayen adireshi na musamman.

A irin waɗannan lokuta, za mu iya amfani da yanayin maimaitawa ko dai ta amfani da zaɓin -r ko -R zaɓi.

Don haka, bari mu ƙirƙiri kundin adireshi kuma mu ƙara ƴan fayiloli da ƙananan kundayen adireshi a ƙarƙashinsa:

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

Na gaba, tabbatar da an ƙirƙiri tsarin kundin adireshi daidai:

$ tree dir-1

Yanzu, bari mu kwafi directory dir-1 akai-akai ta amfani da umarni mai zuwa:

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

A ƙarshe, tabbatar da cewa an kwafi duk fayiloli da ƙananan kundin adireshi cikin nasara:

$ tree dir-3

14. Yadda Ake Kwafi Maɗaukakiyar Littattafai

Kama da fayiloli, za mu iya kwafin kundayen adireshi da yawa ta amfani da umarni ɗaya. Koyaya, don cimma wannan dole ne littafin jagora ya kasance riga kuma dole ne ya zama hujja ta ƙarshe a cikin umarnin. Bari mu fahimci wannan da misali.

Da farko, ƙirƙirar kundin adireshi sabon kundin adireshi:

$ mkdir dir-4

Yanzu, bari mu kwafi kundayen adireshi dir-1 da dir-3 cikin adireshin dir-4 ta amfani da umarnin da ke ƙasa:

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

Hakazalika, za mu iya amfani da -t zaɓi na umarnin don cimma sakamako iri ɗaya. Wannan zaɓin yana ba mu damar tantance kundin adireshin. Don haka za mu iya amfani da shi azaman hujja ta farko kuma:

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

A cikin wannan labarin, mun tattauna yadda ake kwafi fayiloli da kundayen adireshi ta amfani da umarnin cp. Masu farawa na iya komawa ga waɗannan misalan a cikin rayuwar yau da kullun yayin aiki tare da tsarin Linux.

Kuna iya kuma son:

  • Ci gaba - Nuna Kashi na Bayanan Kwafi don (cp, mv, dd, tar) Umarni
  • Duba Ci gaban bayanan (Kwafi/Ajiyayyen/Damfara) ta amfani da Umurnin 'pv'
  • Babban Umurnin Kwafi - Yana Nuna Cigaban Cigaban Lokacin Kwafi Manyan Fayiloli/ Jakunkuna a cikin Linux

Shin kun san kowane mafi kyawun misali na umarnin cp a cikin Linux? Bari mu san ra'ayoyin ku a cikin sharhin da ke ƙasa.