Nochdaidh an artaigil seo cuid de rudan nach eil follaiseach co-cheangailte ri cleachdadh cairtean fiadhaich nuair a bhios tu a’ dèanamh lethbhreac, giùlan àithne dà-sheaghach cp nuair a bhios tu a’ dèanamh lethbhreac, a bharrachd air dòighean a leigeas leat àireamh mhòr de fhaidhlichean a chopaigeadh gu ceart gun a bhith a’ leum no a’ bualadh.
Canaidh sinn gum feum sinn a h-uile càil a chopaigeadh bhon phasgan / stòr chun phasgan / targaid.
Is e a’ chiad rud a thig gu inntinn:
cp /source/* /target
Nach ceartaich sinn an òrdugh seo sa bhad gu:
cp -a /source/* /target
Prìomh -a cuiridh e lethbhreac de gach buadhan, còraichean agus cuiridh e ath-chuairteachadh. Nuair nach eil feum air ath-riochdachadh ceart de chòraichean, tha iuchair gu leòr -r.
Às deidh dhuinn lethbhreac a dhèanamh, lorgaidh sinn nach deach a h-uile faidhle a chopaigeadh - faidhlichean a’ tòiseachadh le dot mar:
.profile
.local
.mc
agus an leithid.
Carson a thachair seo?
Leis gu bheil cairtean fiadhaich air an giullachd leis an t-slige (bash ann an cùis àbhaisteach). Gu gnàthach, bheir bash seachad a h-uile faidhle a’ tòiseachadh le dotagan, oir bidh e gan làimhseachadh mar fhalach. Gus an giùlan seo a sheachnadh feumaidh sinn giùlan atharrachadh bash a 'cleachdadh an òrdugh:
shopt -s dotglob
Gus dèanamh cinnteach gun lean an t-atharrachadh giùlain seo às deidh ath-thòiseachadh, faodaidh tu faidhle wildcard.sh a chruthachadh leis an àithne seo sa phasgan /etc/profile.d (Is dòcha gu bheil pasgan eile aig an sgaoileadh agad).
Agus mura h-eil faidhlichean anns an eòlaire stòr, cha bhith e comasach don t-slige dad a chuir an àite an rionnag, agus bidh copaidh cuideachd a’ fàiligeadh le mearachd. Tha roghainnean an aghaidh an t-suidheachaidh seo failglob и nullglob. Feumaidh sinn a shuidheachadh failglob, a chuireas casg air an àithne a bhith air a chur an gnìomh. nullglob nach obraich, leis gu bheil e ag atharrachadh sreang le cairtean-fiadhaich nach do lorg maids gu sreang falamh (fad neoni), a tha airson cp nì e mearachd.
Ach, ma tha mìltean de fhaidhlichean no barrachd anns a’ phasgan, bu chòir dòigh-obrach nan cairtean fiadhaich a thrèigsinn gu tur. Is e an fhìrinn gu bheil bash a’ leudachadh chairtean fiadhaich gu loidhne-àithne glè fhada mar:
cp -a /souce/a /source/b /source/c …… /target
Tha crìoch air fad na loidhne-àithne, agus gheibh sinn a-mach a’ cleachdadh an àithne:
getconf ARG_MAX
Gheibh sinn an fhad as motha den loidhne-àithne ann am bytes:
2097152
No:
xargs --show-limits
Gheibh sinn rudeigin mar:
….
Maximum length of command we could actually use: 2089314
….
Mar sin, dèanamaid às aonais cairtean fiadhaich gu tur.
Leig leinn dìreach sgrìobhadh
cp -a /source /target
Agus an seo tha sinn an aghaidh mì-chinnt giùlain cp. Mura h-eil am pasgan / targaid ann, gheibh sinn na tha a dhìth oirnn.
Ach, ma tha am pasgan targaid ann, thèid na faidhlichean a chopaigeadh chun phasgan /target/source.
Chan urrainn dhuinn an-còmhnaidh am pasgan / targaid a sguabadh às ro-làimh, oir dh’ fhaodadh gum bi faidhlichean ann a dh’ fheumas sinn agus is e ar n-amas, mar eisimpleir, na faidhlichean ann an / targaid a chuir ri faidhlichean bho / source.
Nam biodh na pasganan stòr agus ceann-uidhe air an ainmeachadh mar an ceudna, mar eisimpleir, bha sinn a 'dèanamh lethbhreac bho / source gu / home / source, b' urrainn dhuinn an òrdugh a chleachdadh:
cp -a /source /home
Agus an dèidh lethbhreac a dhèanamh, bhiodh na faidhlichean ann an / home/source air an cur ris le faidhlichean bho / source.
Is e duilgheadas loidsigeach a tha seo: is urrainn dhuinn faidhlichean a chuir anns an eòlaire cinn-uidhe ma tha na pasganan air an ainmeachadh mar an ceudna, ach ma tha iad eadar-dhealaichte, thèid am pasgan tùsail a chuir am broinn a’ chinn-uidhe. Mar a nì thu lethbhreac de fhaidhlichean bho / stòr gu / targaid a’ cleachdadh cp gun chairtean fiadhaich?
Gus faighinn timcheall air a’ chuingealachadh cronail seo, bidh sinn a’ cleachdadh fuasgladh neo-fhollaiseach:
cp -a /source/. /target
Tha an fheadhainn a tha eòlach air DOS agus Linux air a h-uile càil a thuigsinn mar-thà: taobh a-staigh gach pasgan tha 2 phasgan do-fhaicsinneach “.” agus “..”, a tha nan ceanglaichean meallta-phasgan ris na clàran gnàthach agus nas àirde.
Nuair a bhios tu a’ dèanamh lethbhreac cp sgrùdaidhean airson a bhith ann agus a’ feuchainn ri /target/ a chruthachadh.
Tha eòlaire mar seo ann agus is e /targaid a th’ ann
Thèid faidhlichean o / thùs a chopaigeadh gu /targaid gu ceart.
Mar sin, croch e ann am frèam trom nad chuimhne no air a’ bhalla:
cp -a /source/. /target
Tha giùlan na h-àithne so soilleir. Obraichidh a h-uile dad gun mhearachdan, ge bith a bheil millean faidhle agad no nach eil idir.
toraidhean
Ma dh'fheumas tu lethbhreac a dhèanamh uile faidhlichean bho aon phasgan gu fear eile, cha bhith sinn a’ cleachdadh cairtean fiadhaich, tha e nas fheàrr an cleachdadh nan àite cp còmhla ri ùine aig deireadh am pasgan stòr. Nì seo leth-bhreac de gach faidhle, a’ gabhail a-steach feadhainn falaichte, agus cha bhith e a’ fàiligeadh le milleanan de fhaidhlichean no gun fhaidhlichean idir.
Post-d gu caraid
vmspike mholainn dreach àithne le toradh coltach ris: