cp lamulo: kukopera molondola zikwatu za fayilo mu * nix

cp lamulo: kukopera molondola zikwatu za fayilo mu * nix

Nkhaniyi iwulula zinthu zina zosadziwika bwino zokhudzana ndi kugwiritsa ntchito makadi akutchire pokopera, khalidwe la lamulo losamveka cp pokopera, komanso njira zomwe zimakupatsani mwayi wokopera mafayilo ambiri osadumpha kapena kugwa.

Tiyerekeze kuti tifunika kukopera chilichonse kuchokera ku /source foda kupita ku /chandamale chikwatu.

Chinthu choyamba chimene chimabwera m'maganizo ndi:

cp /source/* /target

Tiyeni tikonze lamulo ili kuti:

cp -a /source/* /target

Mphindi -a adzawonjezera kukopera kwa zikhumbo zonse, maufulu ndi kuwonjezera kubwereza. Pamene kuberekana kwenikweni kwa ufulu sikofunikira, fungulo ndilokwanira -r.

Pambuyo kukopera, tiwona kuti si mafayilo onse omwe adakopera - mafayilo oyambira ndi dontho ngati:

.profile
.local
.mc

ndi zina zotero.

N’chifukwa chiyani zimenezi zinachitika?

Chifukwa makadi akutchire amakonzedwa ndi chipolopolo (bash muzochitika zenizeni). Mwachikhazikitso, bash idzanyalanyaza mafayilo onse kuyambira ndi madontho, chifukwa amawaona ngati obisika. Kuti tipewe khalidweli tiyenera kusintha khalidwe bash pogwiritsa ntchito lamulo:

shopt -s dotglob

Kuti muwonetsetse kuti kusinthaku kumapitilira mukayambiranso, mutha kupanga fayilo ya wildcard.sh ndi lamulo ili mufoda. /etc/profile.d (Mwina kugawa kwanu kuli ndi foda yosiyana).

Ndipo ngati palibe mafayilo mu gwero lachikwatu, ndiye kuti chipolopolo sichingathe kulowetsa chilichonse m'malo mwa asterisk, ndipo kukopera kudzalepheranso ndi cholakwika. Pali zosankha zotsutsana ndi izi failglob ΠΈ nullglob. Tiyenera kukhazikitsa failglob, zomwe zingalepheretse lamulolo kuchitidwa. nullglob sichingagwire ntchito, chifukwa imatembenuza chingwe chokhala ndi makadi akutchire omwe sanapeze machesi kukhala chingwe chopanda kanthu (zero kutalika), chomwe cp zidzayambitsa cholakwika.

Komabe, ngati pali masauzande a mafayilo kapena zambiri mufoda, ndiye kuti njira ya wildcards iyenera kusiyidwa palimodzi. Zoona zake n’zakuti bash imakulitsa ma wildcards mu mzere wautali kwambiri wa lamulo monga:

cp -a /souce/a /source/b /source/c …… /target

Pali malire pautali wa mzere wolamula, womwe titha kuupeza pogwiritsa ntchito lamulo:

getconf ARG_MAX

Tiyeni titenge kutalika kwa mzere wolamula mu byte:

2097152

Kapena:

xargs --show-limits

Timapeza zinthu monga:

….
Maximum length of command we could actually use: 2089314
….

Kotero, tiyeni tichite popanda wildcards palimodzi.

Tiyeni tingolemba

cp -a /source /target

Ndipo apa tikukumana ndi kusamvetsetsana kwamakhalidwe cp. Ngati chikwatu / chandamale palibe, ndiye kuti tidzapeza zomwe tikufuna.

Komabe, ngati foda yomwe mukufunayo ilipo, ndiye kuti mafayilowo adzakopera ku /target/source foda.

Sitingathe kuchotseratu chikwatu / chandamale pasadakhale, chifukwa chikhoza kukhala ndi mafayilo omwe tikufuna ndipo cholinga chathu, mwachitsanzo, ndikuwonjezera mafayilo mu / chandamale ndi mafayilo kuchokera ku / gwero.

Ngati magwero ndi mafoda omwe akupita adatchulidwa chimodzimodzi, mwachitsanzo, tinkakopera kuchokera / gwero kupita ku / kunyumba / gwero, ndiye tikhoza kugwiritsa ntchito lamulo:

cp -a /source /home

Ndipo mutatha kukopera, mafayilo omwe ali mu /home/source amawonjezeredwa ndi mafayilo kuchokera /gwero.

Ili ndi vuto lomveka: titha kuwonjezera mafayilo muzolemba zomwe mukupita ngati mafoda amatchulidwa chimodzimodzi, koma ngati ali osiyana, ndiye kuti foda yoyambira idzayikidwa mkati mwa komwe mukupita. Momwe mungakopere mafayilo kuchokera ku / gwero kupita ku / chandamale pogwiritsa ntchito cp popanda makadi akutchire?

Kuti tithetse vutoli, timagwiritsa ntchito njira yosadziwika bwino:

cp -a /source/. /target

Omwe akudziwa bwino za DOS ndi Linux amvetsetsa kale chilichonse: mkati mwa chikwatu chilichonse muli mafoda awiri osawoneka "." ndi "..", omwe ndi mafoda abodza omwe amalumikizana ndi zolemba zamakono komanso zapamwamba.

  • Pokopera cp imayang'ana kukhalapo ndikuyesa kupanga /target/.
  • Chikwatu choterocho chilipo ndipo ndi / chandamale
  • Mafayilo ochokera ku / gwero amakopera ku / chandamale molondola.

Chifukwa chake, ipachikeni mu chimango cholimba m'chikumbukiro chanu kapena pakhoma:

cp -a /source/. /target

Khalidwe la lamuloli ndi lomveka bwino. Chilichonse chidzagwira ntchito popanda zolakwika, mosasamala kanthu kuti muli ndi mafayilo miliyoni kapena mulibe.

anapezazo

Ngati mukufuna kukopera onse owona kuchokera chikwatu chimodzi kupita ku chimzake, sitigwiritsa ntchito wildcards, ndi bwino ntchito m'malo cp kuphatikizidwa ndi nthawi yomwe ili kumapeto kwa chikwatu choyambira. Izi zidzatengera mafayilo onse, kuphatikiza zobisika, ndipo sizingalephereke ndi mamiliyoni a mafayilo kapena palibe mafayilo konse.

Pambuyo pake

vmpike adapanga mtundu wamalamulo wokhala ndi zotsatira zofanana:

cp -a -T /source /target

Oz_Alex

cp -aT /source /target

ZINDIKIRANI: nkhani ya kalata T ali ndi tanthauzo. Mukasakaniza, mudzapeza zinyalala zonse: njira yokopera idzasintha.
Zikomo:

  • Makampani RUVDS.COM kuti muthandizidwe komanso mwayi wofalitsa pa blog yanu pa HabrΓ©.
  • Pa chithunzi Triple Concept. Chithunzicho ndi chachikulu kwambiri komanso chatsatanetsatane, chikhoza kutsegulidwa pawindo lapadera.

PS Chonde tumizani zolakwika zilizonse zomwe mungazindikire mu uthenga wachinsinsi. Ndikuwonjezera karma yanga pa izi.

cp lamulo: kukopera molondola zikwatu za fayilo mu * nix

Source: www.habr.com

Kuwonjezera ndemanga