Обзор
pv читает данные из стандартного ввода и передает их в стандартный вывод, измеряя поток данных и отображая прогресс на терминале. Это особенно полезно для длительных операций, таких как копирование больших файлов, сжатие или передача по сети.
Основные функции
- Отображение скорости обработки данных в реальном времени
- Отображение общего объема переданных данных
- Предоставление индикатора прогресса и предполагаемого времени завершения (ETA)
- Функция ограничения скорости передачи данных
Основные опции
Основные опции команды pv используются для отображения данных, ограничения скорости, указания размера и т. д.
Отображение и управление
Сгенерированная команда:
Комбинируйте команды.
Описание:
`pv` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Различные примеры передачи и мониторинга данных с использованием команды pv.
Базовый мониторинг прогресса
dd if=/dev/urandom bs=1M count=100 | pv > /dev/null
Проверка прогресса с помощью pv при передаче данных, сгенерированных командой dd, в /dev/null.
Мониторинг прогресса копирования файла
pv large_file.iso > copied_file.iso
Отображение прогресса при копировании большого файла с помощью pv. (Замените на фактический путь к файлу)
Ограничение скорости передачи данных
dd if=/dev/zero bs=1M count=500 | pv -L 1m > /dev/null
Мониторинг прогресса с ограничением скорости передачи данных до 1 МБ в секунду.
Мониторинг прогресса сжатия
tar -czf - my_directory | pv -s $(du -sb my_directory | awk '{print $1}') > archive.tar.gz
Проверка прогресса с помощью pv при сжатии каталога с использованием tar и gzip. (Замените на фактический путь к каталогу)
Указание общего размера для точного ETA
dd if=/dev/urandom bs=1M count=500 | pv -s 500M > /dev/null
Указание pv общего размера данных в 500 МБ для получения более точного прогресса и предполагаемого времени завершения.
Установка
pv не входит в стандартную комплектацию большинства дистрибутивов Linux, поэтому его необходимо установить через менеджер пакетов.
Команды установки
Команды установки для каждой операционной системы.
- Debian/Ubuntu: sudo apt update && sudo apt install pv
- CentOS/RHEL/Fedora: sudo yum install pv или sudo dnf install pv
- Arch Linux: sudo pacman -S pv
- macOS (Homebrew): brew install pv
Советы и рекомендации
Советы и рекомендации по более эффективному использованию pv.
Советы по использованию
- **Вставка в середину конвейера**: Вы можете вставить pv в середину конвейера в виде `command1 | pv | command2` для мониторинга прогресса на определенном этапе.
- **Используйте -s для точного ETA**: Динамическое указание общего размера путем комбинации с командой `du`, например `pv -s $(du -sb large_dir | awk '{print $1}')`, позволяет получить более точный ETA.
- **Управление пропускной способностью с помощью ограничения скорости**: При передаче по сети использование опции `-L` для регулировки пропускной способности может снизить влияние на другие службы.
- **Прямой мониторинг файла**: Указание имени файла в качестве аргумента, например `pv file.ext`, позволяет отслеживать прогресс чтения этого файла.
Рекомендации
- **Проблемы с буферизацией**: Некоторые команды выполняют собственную буферизацию, что может привести к отображению прогресса pv, отличающегося от ожидаемого. В этом случае необходимо проверить опции буферизации соответствующей команды.
- **Вмешательство в вывод терминала**: Поскольку pv постоянно выводит прогресс на терминал, при использовании pv в скриптах может потребоваться подавить вывод с помощью опций, таких как `-q` (quiet).