Вы не говорите, что Вы используете, чтобы сделать копию, но я предполагаю, что она действительно не имеет значения.
Вы могли бы попробовать что-то вроде этого использование pv
:
your-copy-command 2>&1 | tee progress.out | pv -trlb >/dev/null
Это дает Вам индикатор хода выполнения низких издержек:
502 0:00:20 [25.1/s ]
который показывает количество строк имен файлов (не содержание файла), что Вы видели бы иначе. tee
команда сохраняет этот вывод в удаленной системе в случае, если действительно необходимо видеть его. Затем вывод отбрасывается.
Вот способ сделать что-то подобное без pv
your-copy-command 2>&1 | tee progress.out | progress >/dev/null
где progress
сценарий что-то как:
#!/bin/bash
SECONDS=0 # auto update variable
while read -r line
do
if ((count++ % 10 == 9))
then
printf "%s sec, %s lines\r" $SECONDS $count >&2
fi
echo "$line"
done
что происходит, если Вы передаете вывод по каналу в меньше?, как в CP b | меньше
Если я понимаю это правильно, это кажется, что Вы замедляетесь из-за терминальной буферизации!
Необходимо ли видеть вывод передачи? В противном случае используйте -q
или подходящие варианты для глушения вывода на передачу файлов. Если Вы нуждаетесь в тех данных, перенаправляете вывод в файл для более позднего обзора. Вы могли затем tail -f
тот файл.