cp whakahau: te kape tika i nga kōpaki konae kei *nix
Ma tenei tuhinga e whakaatu etahi mea kore-kitea e pa ana ki te whakamahinga o kāri mohoao i te kape, te whanonga whakahau rangirua cp i te wa e kape ana, me nga tikanga ka taea e koe te kape tika i te maha o nga konae me te kore e peke, e pakaru ranei.
Me kii me kape nga mea katoa mai i te kōpaki /puna ki te kōpaki /target.
Ko te mea tuatahi ka puta ki te hinengaro ko:
cp /source/* /target
Me whakatika tonu tenei whakahau ki:
cp -a /source/* /target
Kī -a ka taapirihia te kape o nga huanga katoa, nga motika me te taapiri atu. Ki te kore e hiahiatia te whakaputa tika o nga motika, he ranea te ki -r.
I muri i te kape, ka kitea kaore nga konae katoa i kape - ko nga konae ka tiimata me te ira penei:
.profile
.local
.mc
me nga mea pera.
He aha i puta ai tenei?
Nā te mea ka tukatukahia ngā kārimākā e te anga (bash i roto i te take angamaheni). Ma te taunoa, ka warewarehia e te bash nga konae katoa ka tiimata me nga ira, na te mea ka huna e ia. Hei karo i tenei whanonga me huri tatou i te whanonga bash te whakamahi i te whakahau:
shopt -s dotglob
Hei whakarite kia mau tonu tenei huringa whanonga i muri i te whakaara ano, ka taea e koe te hanga i tetahi konae wildcard.sh me tenei tono ki te kōpaki /etc/profile.d (Tena pea he kōpaki rereke to tohatoha).
A, ki te kore he konae kei roto i te raarangi puna, ka kore e taea e te anga te whakakapi i tetahi mea hei whakakapi i te whetūriki, ka taka hoki te kape me te hapa. He whiringa mo tenei ahuatanga failglob и nullglob. Me whakarite taatau failglob, ka kore e mahia te whakahau. nullglob e kore e mahi, na te mea ka huri i tetahi aho me nga kaari mohoao kaore i kitea he taurite ki te aho kau (kore roa), mo cp ka puta he hapa.
Heoi, mena he mano tini o nga konae, nui ake ranei kei roto i te kōpaki, katahi ka waiho katoa te huarahi mohoao. Ko te meka ko tera bash ka whakawhanui i nga kaari mohoao ki te rarangi whakahau roa penei:
cp -a /souce/a /source/b /source/c …… /target
He rohe kei runga i te roa o te raina whakahau, ka kitea e tatou ma te whakamahi i te whakahau:
getconf ARG_MAX
Me tiki te roa morahi o te raina whakahau i roto i nga paita:
2097152
Ranei:
xargs --show-limits
Ka whiwhi tatou i tetahi mea penei:
….
Maximum length of command we could actually use: 2089314
….
Na, me mahi kaore he kaari mohoao katoa.
Me tuhi noa
cp -a /source /target
Na i konei ka anga tatou ki te rangirua o te whanonga cp. Mena karekau te kōpaki / whainga, ka whiwhi tatou i nga mea e hiahiatia ana.
Heoi, mena kei te noho te kōpaki whaainga, ka kapehia nga konae ki te kōpaki /target/puna.
Kaore e taea e matou te muku i te kōpaki /target i mua, i te mea kei roto pea nga konae e hiahiatia ana, ko ta matou whainga, hei tauira, ko te taapiri i nga konae i roto i te /target me nga konae mai i /puna.
Mēnā he ōrite te ingoa o ngā kōpaki pūtake me te ūnga, hei tauira, kei te tārua mātou mai i /puna ki /home/puna, ka taea e matou te whakamahi i te whakahau:
cp -a /source /home
A, i muri i te kape, ka taapirihia nga konae kei /home/source ki nga konae mai i /puna.
He raruraru arorau tenei: ka taea e tatou te taapiri i nga konae ki te raarangi whainga mena ka rite te ingoa o nga kōpaki, engari mena he rereke, ka tuuhia te kōpaki puna ki roto i te waahi. Me pehea te kape i nga konae mai i /puna ki / whainga ma te whakamahi cp kaore he kaari mohoao?
Hei whakatika i tenei herenga kino, ka whakamahia e matou he otinga kore-marama:
cp -a /source/. /target
Ko te hunga e mohio ana ki te DOS me te Linux kua mohio ki nga mea katoa: kei roto i ia kōpaki e rua nga kōpaki e kore e kitea "." me te "..", he hononga pseudo-folder ki nga raarangi o naianei me nga raarangi teitei ake.
I te kape cp ka arowhai mo te noho me te ngana ki te hanga /target/.
He whaiaronga pera kei te noho, a ko te /target
Ko nga konae mai i te /puna ka kape tika ki te / tauranga tika.
Na, whakairihia ki roto i te anga maia ki to mahara, ki runga ranei i te pakitara:
cp -a /source/. /target
He maamaa te whanonga o tenei whakahau. Ka mahi nga mea katoa kaore he hapa, ahakoa he miriona nga konae kei a koe, karekau ranei.
kitenga
Mena ka hiahia koe ki te kape katoa nga konae mai i tetahi kōpaki ki tetahi atu, kaore matou e whakamahi i nga kaari mohoao, he pai ake te whakamahi cp ka honoa me te wa i te mutunga o te kōpaki puna. Ma tenei ka kape i nga konae katoa, tae atu ki nga mea huna, ka kore e taka ki nga miriona o nga konae, karekau he konae.
Afterword
vmspike i whakaarohia he putanga whakahau me te hua rite: