cp kauoha: kope pololei i nā waihona waihona ma *nix

cp kauoha: kope pololei i nā waihona waihona ma *nix

E hōʻike ana kēia ʻatikala i kekahi mau mea ʻike ʻole e pili ana i ka hoʻohana ʻana kāleka ʻāʻī ke kope, hana kauoha ambiguous cp i ke kope ʻana, a me nā ʻano hana e hiki ai iā ʻoe ke kope pololei i ka nui o nā faila me ka ʻole o ka lele ʻana a i ʻole ka hāʻule ʻana.

E ʻōlelo mākou pono mākou e kope i nā mea a pau mai ka waihona / kumu i ka waihona / target.

ʻO ka mea mua i hiki i ka manaʻo:

cp /source/* /target

E hooponopono koke kakou i keia kauoha i:

cp -a /source/* /target

Kaomi -a e hoʻohui i ke kope o nā ʻano a pau, nā kuleana a hoʻohui i ka recursion. Inā ʻaʻole koi ʻia ka hana hou ʻana o nā kuleana, lawa ke kī -r.

Ma hope o ke kope ʻana, ʻike mākou ʻaʻole i kope ʻia nā faila a pau - hoʻomaka nā faila me kahi kiko e like me:

.profile
.local
.mc

a me na mea like.

No ke aha i hana ai kēia?

No ka mea, ua hana ʻia nā kāleka ʻāhiu e ka pūpū (bash ma kahi hihia maʻamau). Ma ka maʻamau, e haʻalele ka bash i nā faila a pau e hoʻomaka ana me nā kiko, no ka mea, mālama ʻo ia iā lākou me kahi huna. No ka pale ʻana i kēia ʻano, pono mākou e hoʻololi i ke ʻano bash me ke kauoha:

shopt -s dotglob

No ka hōʻoia i ka hoʻololi ʻana o kēia ʻano hana ma hope o ka reboot, hiki iā ʻoe ke hana i kahi faila wildcard.sh me kēia kauoha i loko o ka waihona. /etc/profile.d (Malia paha he waihona ʻokoʻa kāu mahele).

A inā ʻaʻohe faila ma ka papa kuhikuhi kumu, a laila ʻaʻole hiki i ka pūpū ke hoʻololi i kekahi mea ma kahi o ka asterisk, a e hāʻule pū ke kope ʻana me ka hewa. Aia nā koho e kū'ē i kēia kūlana failglob и nullglob. Pono mākou e hoʻonohonoho failglob, ka mea e pale ai i ka hoʻokō ʻia ʻana o ke kauoha. nullglob ʻaʻole ia e hana, no ka mea, hoʻohuli ʻo ia i kahi kaula me nā wildcards ʻaʻole i loaʻa kahi pāʻani i kahi kaula ʻole (ʻaʻohe lōʻihi), no ka cp e hana hewa.

Eia nō naʻe, inā he mau kaukani faila a ʻoi aʻe paha i loko o ka waihona, a laila pono e haʻalele ʻia ke ʻano wildcards. ʻO ka mea ʻoiaʻiʻo bash hoʻonui i nā wildcards i kahi laina kauoha lōʻihi e like me:

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

Aia ka palena o ka lōʻihi o ka laina kauoha, hiki iā mākou ke ʻike me ka hoʻohana ʻana i ke kauoha:

getconf ARG_MAX

E kiʻi i ka lōʻihi loa o ka laina kauoha i nā bytes:

2097152

A iʻole:

xargs --show-limits

Loaʻa iā mākou kekahi mea e like me:

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

No laila, e hana mākou me ka ʻole o ka wildcards.

E kākau wale kāua

cp -a /source /target

A eia kakou ke alo nei me ka pohihihi o ka hana cp. Inā ʻaʻole i loaʻa ka folder / target, a laila e loaʻa iā mākou ka mea e pono ai mākou.

Eia nō naʻe, inā loaʻa ka waihona i hoʻopaʻa ʻia, a laila e kope ʻia nā faila i ka waihona /target/kumu.

ʻAʻole hiki iā mākou ke hoʻopau i ka waihona /target ma mua, no ka mea, aia paha nā faila a mākou e pono ai a ʻo kā mākou pahuhopu, no ka laʻana, ʻo ia ke hoʻohui i nā faila i /target me nā faila mai /source.

Inā like ka inoa o nā waihona kumu a me nā wahi e hele ai, no ka laʻana, ke kope nei mākou mai / kumu i / home / kumu, a laila hiki iā mākou ke hoʻohana i ke kauoha:

cp -a /source /home

A ma hope o ke kope ʻana, e hoʻopili ʻia nā faila ma /home/source me nā faila mai /source.

He pilikia koʻikoʻi kēia: hiki iā mākou ke hoʻohui i nā faila i ka papa kuhikuhi kuhikuhi inā ua like ka inoa o nā waihona, akā inā ʻokoʻa lākou, a laila e waiho ʻia ka waihona kumu i loko o ka huakaʻi. Pehea e kope ai i nā faila mai /source i /target me ka cp me ka ʻole o nā wildcards?

No ka hoʻopau ʻana i kēia palena pōʻino, hoʻohana mākou i kahi hopena ʻike ʻole:

cp -a /source/. /target

ʻO ka poʻe i kamaʻāina me DOS a me Linux ua hoʻomaopopo mua i nā mea āpau: i loko o kēlā me kēia waihona he 2 mau waihona ʻike ʻole "." a me "..", he mau loulou pseudo-folders i nā papa kuhikuhi o kēia manawa a ʻoi aku hoʻi.

  • Ke kope cp nānā i ke ola a ho'āʻo e hana i /target/.
  • Aia kēlā papa kuhikuhi a ʻo ia /target
  • Hoʻopili pololei ʻia nā faila mai /source i /target.

No laila, e kau iā ia ma kahi kiʻi wiwo ʻole i kou hoʻomanaʻo a i ʻole ma ka paia:

cp -a /source/. /target

Akaka ke ano o keia kauoha. E hana nā mea a pau me ka hewa ʻole, ʻoiai inā he miliona mau faila a ʻaʻole loa.

haʻina

Inā pono ʻoe e kope nā mea a pau faila mai kekahi waihona i kekahi, ʻaʻole mākou e hoʻohana i nā wildcards, ʻoi aku ka maikaʻi o ka hoʻohana ʻana iā lākou cp hui pū ʻia me kahi manawa ma ka hope o ka waihona kumu. E kope kēia i nā faila a pau, me nā mea huna, a ʻaʻole e hāʻule me nā miliona o nā faila a i ʻole nā ​​faila.

Ma hope o ka'ōlelo

vmspike manaʻo ʻia kahi mana kauoha me kahi hopena like:

cp -a -T /source /target

Oz_Alex

cp -aT /source /target

MANAʻO: pahu leka T he manaʻo. Inā hui ʻoe, e loaʻa iā ʻoe ka ʻōpala piha: e hoʻololi ke kuhikuhi kope.
Mahalo:

  • ʻOihana RUVDS.COM no ke kākoʻo a me ka manawa kūpono e hoʻolaha ma kāu blog ma Habré.
  • Ma ke kiʻi Manaʻo Triple. Nui a kikoʻī ke kiʻi, hiki ke wehe ʻia ma kahi puka aniani.

PS E ʻoluʻolu e hoʻouna i nā hewa āu i ʻike ai ma kahi leka pilikino. Hoʻonui au i kaʻu karma no kēia.

cp kauoha: kope pololei i nā waihona waihona ma *nix

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka