Aqui estão alguns comandos para copiar diretórios com informações de progresso.
Se houver muitos arquivos pequenos:
cp -av sourcedir targetdir | pv -l -s filecount > logfile
Isso relatará o progresso com base no número de arquivos copiados.
Você pode redirecionar para /dev/null se não precisar de logfile .
Use o seguinte comando para obter filecount :
find sourcedir | wc -l
Se houver poucos arquivos grandes:
tar c sourcedir | pv -s size | tar x -C targetdir
Isso relatará o progresso com base nos bytes copiados.
targetdir deve existir.
Use o seguinte comando para obter size :
du -sh sourcedir
Se você quiser usar o rsync:
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Obtenha filecount como mostrado acima.
Se você estiver copiando no mesmo sistema, rsync -a será praticamente o mesmo que cp -a . As vantagens do rsync é quando você está copiando através da rede ou se está atualizando (ou comparando) uma cópia anterior.
Veja aqui para mais detalhes: