Если я бегу
cp file1 file2
Я хотел бы иметь возможность отслеживать его прогресс. Есть ли команда, которую я могу использовать для этого?
rsync --progress
имеет ли это, но есть ли что-то общее, пригодное для использования "любой" команды?
Если я бегу
cp file1 file2
Я хотел бы иметь возможность отслеживать его прогресс. Есть ли команда, которую я могу использовать для этого?
rsync --progress
имеет ли это, но есть ли что-то общее, пригодное для использования "любой" команды?
Вы можете использовать pv
для просмотра хода выполнения любой команды, которая может передавать данные по каналам.
Смотрите, например, http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ для объяснений. Однако это не сработает для cp, так как не работает через каналы.
Помимо этого, нет общего механизма, о котором я знаю. Это было бы сложно, так как "прогресс" может означать разные вещи для разных команд.
Кстати, у cp
есть опция -v
которой перечислены файлы по мере их копирования, что может дать вам приблизительное представление о его ходе.
Редактировать:
Хотя это может не дать прямого ответа на ваш вопрос: вы также можете просто использовать графический файловый менеджер. Большинство из них предоставляют хороший индикатор выполнения при копировании / перемещении файлов (например, konqueror в KDE).
попробуйте добавить --verbose
к интересующим вас командам, это, как правило, даст больше информации о прогрессе.
(Возможно, не совсем то, что вы спрашиваете, поскольку это не сработает ни для какой команды, но), чтобы получить индикатор прогресса для cp, я иногда (ab) использую scp:
scp localhost:/path/to/source_file /path/to/destination
Вам понадобится префикс localhost: в источнике или в месте назначения, чтобы scp не возвращался к стандартному cp.