Если, система не перегружается им (например, возможно файлы находятся в кэше) затем Параллель GNU http://www.gnu.org/software/parallel/ можно работать на Вас:
find . -print0 | parallel -0 -j10 cp {} destdir
Это выполнит 10 параллельных cp
s.
Pro: просто читать.
Довод "против": Параллель GNU не является стандартной в большинстве систем - таким образом, вероятно, необходимо установить ее.
Посмотрите вводное видео для большего количества информации: http://www.youtube.com/watch?v=OpaiGYxkSuQ
См. также https://oletange.wordpress.com/2015/07/04/parallel-disk-io-is-it-faster/для обсуждения параллельного диска ввод-вывод.
"And how do I launch module installations directly from the command line?"
This should do:
perl -MCPAN -e 'install Your::Package'
Если это повторяющаяся задача, можно потратить несколько часов на cpan2rpm и превратить их в RPM. По моему опыту, запуски CPAN (даже в интерактивном режиме) слишком подвержены неожиданным событиям (особенности версии, сетевые проблемы, ложные сбои тестов), чтобы на них можно было положиться при (полу-) автоматической установке.
Это должно творить чудеса:
get_cpanm(){
if [ \! -f /usr/local/bin/cpanm ]; then
cd $TMP_DIR && curl --insecure -L http://cpanmin.us | perl - App::cpanminus
if [ \! -f /usr/local/bin/cpanm ]; then
echo "Downloading from cpanmin.us failed, downloading from xrl.us"
curl -LO http://xrl.us/cpanm &&
chmod +x cpanm &&
mv cpanm /usr/local/bin/cpanm
fi
fi
CPANM=$(which cpanm);
if [ \! -f "$CPANM" ]; then
echo "ERROR: Unable to find cpanm"
return 1;
fi
return 0
}
cpanm Time::HiRes CGI Moose Config::JSON other::cpanmodules