Dd linux команда progress

Как посмотреть прогресс dd Linux

Если вы пользователь Linux то часто используете команды, которые выполняются некоторое время, например, команда копирования файлов cp, распаковка архивов с помощью tar, перемещение файлов в mv, конвертирование и копирование файлов с помощью dd. Прогресс выполнения команды нужен чтобы приблизительно оценить время до завершения выполнения задачи, или просто чтобы убедиться что все работает и утилита не зависла.

Однако команда dd, как известно, при копировании файла не отображает прогресс бар для пользователя, поэтому непонятно сколько процентов файлов уже скопировано.

В этой статье мы рассмотрим как посмотреть прогресс dd в linux, этот метод подходит не только для dd, но и для всех подобных ей утилит.

Но есть очень простое решение, и даже два. Первое, это утилита Coreutils Viewer или progress (раньше известная как cv). Программа написана на С и ищет выполняемые в данный момент в системе программы такие как: mv, cp, dd, tar, unzip и т д и отображает процент скопированных данных. Второе, более интересное. Мы можем направить данные через туннель pv, который будет считать с какой скоростью они передаются и сколько еще осталось. Рассмотрим сначала первый способ.

Прогресс команды Linux с помощью progress

Установка progress

Эта утилита не поставляется с системой по умолчанию. Но установить ее очень просто, программа есть в официальных репозиториях большинства дистрибутивов. Например, в Ubuntu:

sudo apt install progress

В других дистрибутивах она может быть более старой версии и назваться cv. Также вы можете собрать программу из исходников. Единственная зависимость — библиотека ncurces. В Ubuntu 16.04 ее можно установить такой командой:

sudo apt-get install libncurses-dev

sudo apt-get install ncurses-dev

sudo yum install ncurses-devel

Когда удовлетворите зависимости утилиты, выполните следующую команду для загрузки исходников с GitHub:

Затем распакуйте полученный архив:

Измените текущий каталог с помощью cd:

Запустите сборку и установку:

Программа готова к работе.

Смотрим прогресс команды с помощью progress

После завершения установки запустите progress следующей командой:

В результате получится что-то вроде:

process

Теперь давайте запустим копирование видео из папки на рабочий стол и посмотрим что произойдет:

Читайте также:  Id vendor usb linux

Команда progress покажет прогресс копирования cp:

process1

Выполним progress еще раз:

process2

Как видите, утилита показывает информацию о прогрессе копирования файла, процент скопированных данных, количество скопированных данных и общий размер файла. Это очень полезно при копировании больших файлов, например, при копировании фильмов или образов дисков. То же самое будет если запустить dd, mv, tar, zip или другую подобную утилиту.

В утилиты есть много полезных опций. Опция -w заставляет программу показывать время, оставшееся до окончания операции:

process3

process4

Если вы хотите видеть упрощенный вывод без дополнительных сообщений используйте опцию -q. И наоборот для показа всех предупреждений и ошибок воспользуйтесь -d. Например, лучше использовать cv со следующими опциями:

process5

Вы можете отслеживать состояние процесса пока он запущен:

process6

Если вы хотите постоянно наблюдать за прогрессом всех команд используйте опцию -М:

Очень популярный вот такой вариант:

Также можно посмотреть прогресс linux только нужной программы, например, прогресс загрузки файла в firefox:

watch progress -wc firefox

Или проверить активность web-сервера:

Способ второй — создание туннеля

То, что мы рассмотрели выше — не единственный способ посмотреть прогресс команды linux. Еще есть утилита pv. Она намного проще и выполняет только одну задачу — считает все данные проходящие через нее. Может читать поток из файла или стандартного ввода.

Поэтому ее можно использовать чтобы посмотреть прогресс выполнения команды в Linux. Например, создадим такой туннель для dd:

dd if=/dev/zero | pv | dd of=/file

Здесь мы выдаем содержимое нужного нам файла на стандартный вывод, передаем утилите pv, а затем она отдает его другой утилите, которая уже выполняет запись в файл. Для cp такое сделать не получиться, но мы можем поступить немного по-другому:

pv /ваш_файл | cat > новый_файл

Готово, здесь мы тоже получим прогресс команды копирования.

Выводы

Чтобы использовать всю мощь Linux пользователям часто приходится работать в командной строке. Чаще всего мы смотрим содержимое, копируем файлы, распаковываем архивы. В этой инструкции мы рассмотрели утилиту process, которую можно использовать для просмотра прогресса dd и других системных команд.

Мне всегда было интересно посмотреть прогресс копирования cp для больших файлов. Честно говоря, я часто имею дело с большими файлами при просмотре фильмов на своем ноутбуке.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Show dd Progress in Linux with these 2 Methods

The Linux dd command is a well-known tool to create live USB. One drawback of this tool is that it doesn’t show progress and thus you don’t know what’s going on while creating live USB. This tutorial explains how to show dd progress in 2 methods.

Читайте также:  Планшет на linux arm

Show dd Progress with Status option

The dd command is part of the GNU core utilities, aka coreutils. A dd progress indicator has been built into this utility since coreutils version 8.24. To check the version of coreutils on your Linux OS, simply run this command:

show dd progress coreutils

Ubuntu 16.04, Debian 9 and Arch Linux-based distros has latest version 8.25. To let dd show progress you need to add status=progress option like below:

sudo dd if=/path/to/iso/file of=/dev/sdX bs=4M status=progress

linux dd progress indicator

You can see how much has been copied, how many seconds has passed and write speed.

The exact device name for your USB drive can be obtained from fdisk command.

Monitor Progress of dd with PV

For those who don’t have access to coreutils v8.24+, this method is for you. pv is a pipe viewer which can be used to monitor the progress of data flow in Linux pipeline. To install it, issue the following command:

To see dd progress, combine pv and dd command like below.

pv /path/to/isofile | sudo dd of=/dev/sdX

| is the symbol for pipe in Linux. In the above command, pv puts the iso file into the pipe and dd will get the iso file from the pipe then write the iso file to your USB device identified by /dev/sdX.

dd get status

You can get status of how much has been copied, how many seconds has passed, write speed, a percentage progress indicator and estimated remaining time.

I personally prefer dd over Unetbootin because dd always worked for me whereas sometimes live USB created by Unetbootin won’t boot.

As always, if you found this post useful, subscribe to our free newsletter or follow us on Google+, Twitter or like our Facebook page.

Источник

How to Use DD Show Progress Command in Linux?

Home » SysAdmin » How to Use DD Show Progress Command in Linux?

The dd command-line utility is used to convert and copy files on Unix and Unix-like operating systems. By default, the dd command doesn’t show any output while transferring files.

This could be problematic when copying large files since you cannot monitor the process.

In this tutorial, you will learn how to use the dd command to show progress.

How to Use dd show progress command in linux

  • A system running Linux
  • A user account with sudo or root privileges
  • Access to a terminal window / command line
  • GNU Coreutils version 8.24 or above
Читайте также:  Линукс поменять пароль админа

Check dd Version

To see the progress bar while copying files and directories with the dd command, you need a version of dd (coreutils) no older than 8.24. Check the version with the command:

Check Coreutils version.

At the time of writing, the latest version of dd (coreutils) is 8.30 as seen in the image above.

Note: If you need to install coreutils, run: sudo apt-get install -y coreutils .

Option 1: Use the dd Command to Show Progress

The basic syntax for using the dd command is:

dd if=/path/to/input of=/path/to/output

However, the default settings do not show a progress bar or any output while the process is taking place.

To see the progress bar, add the status=progress attribute to the basic command:

dd if=/path/to/input of=/path/to/output status=progress

While the system is copying the specified file, it shows the amount of data that has been copied and the time elapsed.

dd command showing progress while copying a file.

Once the process is complete, the terminal displays the total amount of data transferred and the time duration of the process.

Output from dd command showing the process has completed.

Option 2: Use dd Command with pv to Show Progress

The pv command allows a user to see the progress of data through a pipeline. You can use it with the dd command to show the progress of a specified task.

To do so, you need to install pv.

On Ubuntu/Debian systems run:

On CentOS/Redhat systems run:

Install pv on Ubuntu.

To use pv with the dd command follow the syntax:

dd if=/path/to/input | pv | dd of=/path/to/output

After reading this article, you should know how to show progress while running the dd command, with or without the pv command.

Download a free copy of Linux Commands Cheat Sheet to help you with managing your instance of Linux.

Sofija Simic is an experienced Technical Writer. Alongside her educational background in teaching and writing, she has had a lifelong passion for information technology. She is committed to unscrambling confusing IT concepts and streamlining intricate software installations.

Setting file and directory permission properly is important in multi-user systems such as Linux. You can set.

If you want to keep your filesystems clean and without errors, you need to scan it on regular basis. In this.

Want to learn how to copy files in Linux OS? This guide will show you how to use the Linux commands to copy.

Tutorial on securely transferring files between Unix or Linux systems using the SCP command. The SCP or.

Источник

Оцените статью
Adblock
detector