1

Если я бегу

cp file1 file2

Я хотел бы иметь возможность отслеживать его прогресс. Есть ли команда, которую я могу использовать для этого?

rsync --progress

имеет ли это, но есть ли что-то общее, пригодное для использования "любой" команды?

3 ответа3

6

Вы можете использовать pv для просмотра хода выполнения любой команды, которая может передавать данные по каналам.

Смотрите, например, http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ для объяснений. Однако это не сработает для cp, так как не работает через каналы.

Помимо этого, нет общего механизма, о котором я знаю. Это было бы сложно, так как "прогресс" может означать разные вещи для разных команд.

Кстати, у cp есть опция -v которой перечислены файлы по мере их копирования, что может дать вам приблизительное представление о его ходе.

Редактировать:

Хотя это может не дать прямого ответа на ваш вопрос: вы также можете просто использовать графический файловый менеджер. Большинство из них предоставляют хороший индикатор выполнения при копировании / перемещении файлов (например, konqueror в KDE).

1

попробуйте добавить --verbose к интересующим вас командам, это, как правило, даст больше информации о прогрессе.

0

(Возможно, не совсем то, что вы спрашиваете, поскольку это не сработает ни для какой команды, но), чтобы получить индикатор прогресса для cp, я иногда (ab) использую scp:

scp localhost:/path/to/source_file /path/to/destination

Вам понадобится префикс localhost: в источнике или в месте назначения, чтобы scp не возвращался к стандартному cp.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .