เบเบปเบเบเบงเบฒเบกเบเบตเปเบเบฐเปเบเบตเบเปเบเบตเบเบเบฒเบเบชเบดเปเบเบเบตเปเบเปเปเบเบฑเบเปเบเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบญเบ cp
เปเบโเปเบงโเบฅเบฒโเบเบตเปโเบเบฒเบโเบชเปเบฒโเปเบเบปเบฒโ, เปเบเบฑเปเบโเบเบฝเบงโเบเบฑเบโเบเบฑเบโเบงเบดโเบเบตโเบเบฒเบโเบเบตเปโเบญเบฐโเบเบธโเบเบฒเบโเปเบซเปโเบเปเบฒเบโเปเบเปโเบขเปเบฒเบโเบเบทเบโเบเปเบญเบโเบชเปเบฒโเปเบเบปเบฒโเบเปเบฒโเบเบงเบโเบซเบผเบฒเบโเบเบญเบโเปเบเบฅโเปโเปเบเบโเบเปเปโเบกเบตโเบเบฒเบโเบเปเบฒเบกโเบซเบผเบท crashingโ.
เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบฅเบญเบเบเบธเบเบขเปเบฒเบเบเบฒเบเปเบเบเปเบเบต /source เปเบเบซเบฒเปเบเบเปเบเบต /target.
เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเปเบเบปเปเบฒเบกเบฒเปเบเปเบเปเบกเปเบ:
cp /source/* /target
เปเบซเปเปเบเปเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฑเบเบเบตเปเบเบทเปเบญ:
cp -a /source/* /target
Key -a
เบเบฐเปเบเบตเปเบกเบเบฒเบเบเบฑเบเบฅเบญเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ, เบชเบดเบเปเบฅเบฐเปเบเบตเปเบก recursion. เปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเปเบเปเบเบฑเบเบขเปเบฒเบเปเบเปเบเบดเบเบเบญเบเบชเบดเบเบเบดเปเบกเปเบเบเปเปเบเปเบฒเปเบเบฑเบ, เบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบเบเบฝเบเบเป -r
.
เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบชเปเบฒโเปเบเบปเบฒโ, เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเปเบซเบฑเบโเบงเปเบฒโเบเปเปโเปเบกเปเบโเปเบเบฅโเปโเบเบฑเบโเบซเบกเบปเบโเบเบตเปโเปเบเปโเบเบทเบโเบเบฑเบโเบฅเบญเบ - เปเบเบฅโเปโเบเบตเปโเปเบฅเบตเปเบกโเบเบปเปเบโเบเปเบงเบโเบเบธเบโเปเบเบฑเปเบโ:
.profile
.local
.mc
เปเบฅเบฐเบเปเบฒเบเบเบทเบเบฑเบ.
เปเบเบฑเบเบซเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเบตเบเบเบถเปเบ?
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ wildcards เบเบทเบเบเบธเบเปเบเปเบเปเบเบ shell (bash
เปเบเบเปเบฅเบฐเบเบตเบเบปเบเบเบฐเบเบด). เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, bash เบเบฐเบเปเปเบชเบปเบเปเบเปเบเบฅเปเบเบฑเบเปเบปเบเบเบตเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบธเบ, เปเบเบฒเบฐเบงเปเบฒเบกเบฑเบเบเบทเบงเปเบฒเบเบงเบเบกเบฑเบเบเบทเบเปเบเบทเปเบญเบเปเบงเป. เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบฐเบเบถเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบถเบเบเบดเบเปเบฒ bash
เบเบฒเบโเบเปเบฒโเปเบเปโเบเปเบฒโเบชเบฑเปเบโ:
shopt -s dotglob
เปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเบฑเบเบเบปเบเบขเบนเปเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบดเบเปเบเบตเบเปเบซเบกเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเปเบเบฅเป wildcard.sh เบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบขเบนเปเปเบเปเบเบเปเบเบต. /etc/profile.d
(เบเบฒเบเบเบตเบเบฒเบเปเบเบเบขเบฒเบเบเบญเบเปเบเบปเปเบฒเบกเบตเปเบเบเปเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ).
เปเบฅเบฐเบเปเบฒเบเปเปเบกเบตเปเบเบฅเปเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ shell เบเบฐเบเปเปเบชเบฒเบกเบฒเบเบเบปเบเปเบเบเบชเบดเปเบเปเบเปเบเบเบเบตเปเบเบญเบเบเบฒเบงเปเบเป, เปเบฅเบฐเบเบฒเบเบเบฑเบเบฅเบญเบเบเปเปเบเบฐเบฅเบปเปเบกเปเบซเบฅเบงเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบกเบตเบเบฒเบเปเบฅเบทเบญเบเบเปเปเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเป failglob
ะธ nullglob
. เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเบเบปเบ failglob
, เปเบเบดเปเบเบเบฐเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบเปเบฒเบชเบฑเปเบเบเบทเบเบเบฐเบเบดเบเบฑเบ. nullglob
เบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบฑเบเปเบเบเบชเบฐเบเบฃเบดเบเบเบตเปเบกเบต wildcards เบเบตเปเบเปเปเบเบปเบเบเปเบฒเบเบตเปเบเบปเบเบเบฑเบเปเบเบฑเบ string เบซเบงเปเบฒเบเปเบเบปเปเบฒ (เบเบงเบฒเบกเบเบฒเบงเบชเบนเบ), เปเบเบดเปเบเบชเปเบฒเบฅเบฑเบ cp
เบเบฐโเปเบฎเบฑเบโเปเบซเปโเปเบเบตเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโ.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบกเบตเปเบเบฅเปเบซเบผเบฒเบเบเบฑเบเปเบเบฅเปเบซเบผเบทเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบเบขเบนเปเปเบเปเบเบเปเบเบต, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบงเบดเบเบตเบเบฒเบ wildcards เบเบงเบเบเบทเบเบเบฐเบเบดเปเบกเบเบฑเบเบซเบกเบปเบ. เบเบงเบฒเบกเบเบดเบเปเบฅเปเบงเปเบกเปเบเบงเปเบฒ bash
เบเบฐเบซเบเบฒเบ wildcards เปเบเบปเปเบฒเปเบเปเบเปเบเบงเบเปเบฒเบชเบฑเปเบเบเบฒเบงเบซเบผเบฒเบเปเบเบฑเปเบ:
cp -a /souce/a /source/b /source/c โฆโฆ /target
เบกเบตเบเบญเบเปเบเบเบเปเบฒเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบฒเบงเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ, เปเบเบดเปเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ:
getconf ARG_MAX
เปเบซเปเปเบญเบปเบฒเบเบงเบฒเบกเบเบฒเบงเบชเบนเบเบชเบธเบเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเปเบเบฑเบ bytes:
2097152
เบซเบฅเบท:
xargs --show-limits
เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบ:
โฆ.
Maximum length of command we could actually use: 2089314
โฆ.
เบเบฑเปเบเบเบฑเปเบ, เปเบซเปเปเบฎเบฑเบเปเบเบเบเปเปเบกเบตเบเบฒเบ wildcards เบเบฑเบเบซเบกเบปเบ.
เปเบซเปเบเบญเบเบเบฝเบเปเบเปเบเบฝเบ
cp -a /source /target
เปเบฅเบฐเปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเบเบเบฑเบเบเบงเบฒเบกเบเปเปเปเบเปเบเบญเบเบเบญเบเบเบถเบเบเบดเบเปเบฒ cp
. เบเปเบฒเปเบเบเปเบเบต /target เบเปเปเบกเบต, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเปเบเบเปเบเบตเปเบเบปเปเบฒเบซเบกเบฒเบเบเบฑเปเบเบเปเบฒเบงเบกเบต, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฅเปเบเบฐเบเบทเบเบเบฑเบเบฅเบญเบเปเบเบเบตเปเปเบเบเปเบเบต /target/source.
เบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบฅเบถเบเปเบเปเบเบต /target เบฅเปเบงเบเปเปเบฒเปเบเปเบชเบฐเปเปเบต, เปเบเบฒเบฐเบงเปเบฒเบกเบฑเบเบญเบฒเบเบเบฐเบกเบตเปเบเบฅเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ เปเบฅเบฐเปเบเบปเปเบฒเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบปเบงเบขเปเบฒเบเบเบทเบเบฒเบเปเบเบตเปเบกเปเบเบฅเปเปเบ /target เบเบฑเบเปเบเบฅเปเบเบฒเบ /source.
เบเปเบฒเปเบเบเปเบเบตเบเบปเปเบเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฒเบเบเบทเบเบเบฑเปเบเบเบทเปเบเบฝเบงเบเบฑเบ, เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฑเบเบฅเบญเบเบเบฒเบ /source เปเบ /home/source, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบ:
cp -a /source /home
เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบชเบณเปเบเบปเบฒเปเบฅเปเบง, เปเบเบฅเปเปเบ /home/source เบเบฐเบเบทเบเปเบชเบตเบกเบเปเบงเบเปเบเบฅเปเบเบฒเบ /source.
เบเบตเปเปเบกเปเบเบเบฑเบเบซเบฒเบเบตเปเบกเบตเปเบซเบเบเบปเบ: เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเบตเปเบกเปเบเบฅเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฒเบเบเบฒเบเบเปเบฒเปเบเบเปเบเบตเบเบทเบเบเบฑเปเบเบเบทเปเบเบฝเบงเบเบฑเบ, เปเบเปเบเปเบฒเบเบงเบเบกเบฑเบเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเบเปเบเบตเบเบปเปเบเบชเบฐเบเบฑเบเบเบฐเบเบทเบเบเบฑเบเปเบชเปเบเบฒเบเปเบเบเบฒเบเบเบฒเบ. เบงเบดโเบเบตโเบเบฒเบโเบเบฑเบโเบฅเบญเบโเปเบเบฅโเปโเบเบฒเบ /source เบเบฑเบ /target เบเบฒเบโเบเปเบฒโเปเบเป cp เปเบเบโเบเปเปโเบกเบตโเบเบปเบงโเปเบเบโ?
เปเบเบทเปเบญเบเบฑเบเบฅเบธเบเปเปเบเปเบฒเบเบฑเบเบเบตเปเปเบเบฑเบเบญเบฑเบเบเบฐเบฅเบฒเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฒเบเปเบเปเปเบเบเบตเปเบเปเปเบเบฑเบเปเบเบ:
cp -a /source/. /target
เบเบนเปเบเบตเปเบเบธเปเบเปเบเบตเบเบเบฑเบ DOS เปเบฅเบฐ Linux เปเบเปเปเบเบปเปเบฒเปเบเบเบธเบเบขเปเบฒเบเปเบฅเปเบง: เบเบฒเบเปเบเปเบเปเบฅเบฐเปเบเบเปเบเบตเบกเบต 2 เปเบเบเปเบเบตเบเบตเปเปเบเบดเปเบเบเปเปเปเบซเบฑเบ "." เปเบฅเบฐ โ..โ, เปเบเบดเปเบเปเบกเปเบ pseudo-folders เปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเบเบฐเบเบธเบเบฑเบ เปเบฅเบฐเบชเบนเบเบเบงเปเบฒ.
- เปเบกเบทเปเบญเบชเบณเปเบเบปเบฒ
cp
เบเบงเบเบชเบญเบเบเบฒเบเบกเบตเบขเบนเปเปเบฅเปเบง เปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบ /target/. - เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฑเปเบเบเปเบฒเบงเบกเบตเบขเบนเปเปเบฅเบฐเบกเบฑเบเปเบกเปเบ / เปเบเบปเปเบฒเบซเบกเบฒเบ
- เปเบเบฅเปเบเบฒเบ /source เบเบทเบเบเบฑเบเบฅเบญเบเปเบเบเบตเป /target เบขเปเบฒเบเบเบทเบเบเปเบญเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเบปเปเบเบงเบฒเบเบกเบฑเบเปเบงเปเปเบเบเบญเบเบเบตเปเบเปเบฒเบซเบฒเบเปเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบญเบเปเบเบปเปเบฒเบซเบผเบทเบขเบนเปเปเบเบดเบเบเปเบฒเปเบเบ:
cp -a /source/. /target
เบเบถเบเบเบดเบเปเบฒเบเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบกเปเบเบเบฐเปเบเปเบ. เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเบกเบตเบเบงเบฒเบกเบเบดเบเบเบฒเบ, เบเปเปเบงเปเบฒเบเปเบฒเบเบกเบตเปเบเบฅเปเบฅเปเบฒเบเบซเบผเบทเบเปเปเบกเบตเบเบฑเบเบซเบกเบปเบ.
เบเบฒเบเบเบปเปเบเบเบปเบ
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบชเปเบฒเปเบเบปเบฒ เบเบฑเบโเบซเบกเบปเบ เปเบเบฅเปเบเบฒเบเปเบเบเปเบเบตเบซเบเบถเปเบเปเบเบซเบฒเบญเบตเบ, เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเป wildcards, เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเปเบเปเบเบงเบเบกเบฑเบเปเบเบ cp
เบเบงเบเบเบฑเบเปเบฅเบเบฐเปเบงเบฅเบฒเปเบเบเบญเบเบเปเบฒเบเบเบญเบเปเบเบเปเบเบตเปเบซเบผเปเบ. เบเบตเปเบเบฐเบเบฑเบเบฅเบญเบเปเบเบฅเปเบเบฑเบเบซเบกเบปเบ, เบฅเบงเบกเบเบฑเบเปเบเบฅเปเบเบตเปเปเบเบทเปเบญเบเปเบงเป, เปเบฅเบฐเบเบฐเบเปเปเบฅเบปเปเบกเปเบซเบฅเบงเบเบฑเบเบฅเปเบฒเบเปเบเบฅเปเบซเบผเบทเบเปเปเบกเบตเปเบเบฅเปเปเบเป.
Afterword
cp -a -T /source /target
cp -aT /source /target
เบซเบกเบฒเบเปเบซเบ: เบเปเบฅเบฐเบเบตเบเบปเบเบซเบกเบฒเบ T
เบกเบตโเบเบงเบฒเบกโเบซเบกเบฒเบ. เบเปเบฒเบเปเบฒเบเบเบฐเบชเบปเบกเบกเบฑเบ, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบตเปเปเบซเบเบทเปเบญเบเบตเปเบชเบปเบกเบเบนเบ: เบเบดเบเบเบฒเบเบเบฒเบเบเบฑเบเบฅเบญเบเบเบฐเบเปเบฝเบเปเบเบ.
เบเบญเบเปเบ:
- เบเปเบฅเบดเบชเบฑเบ
RUVDS.COM เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบฅเบฐเปเบญเบเบฒเบเบเบตเปเบเบฐเปเบเบตเบเปเบเปเปเบ blog เบเบญเบเบเปเบฒเบเปเบHabrรฉ. - เบเปเปเบฎเบนเบ
เปเบเบงเบเบงเบฒเบกเบเบดเบเบชเบฒเบก . เบฎเบนเบเบเบฒเบเบกเบตเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบฅเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบเบซเบผเบฒเบ, เบชเบฒเบกเบฒเบเปเบเบตเบเบขเบนเปเปเบเบเปเบญเบเบขเปเบฝเบกเปเบเบเบเปเบฒเบเบซเบฒเบ.
PS เบเบฐเบฅเบธเบเบฒเบชเบปเปเบเบเปเปเบเบดเบเบเบฒเบเบเบตเปเบเปเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเบเปเปเบเบงเบฒเบกเบชเปเบงเบเบเบปเบง. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบตเปเบก karma เบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com