Информация: текстовый индикатор для скриптов и команды в Linux
Назначение: Если вы в написании скриптов и вы хотели бы отображать миленький бар прогресса текст в качестве скрипты выполнять различные команды, то ваши заботы остались в прошлом. В этом блоге мы увидим, как мы можем реализовать бар текст прогресс в наших сценариях оболочки с помощью очень удобная утилита под названием « clpbar . Некоторые хорошие причины, чтобы прогресс бар:
- 1. Пусть пользователь знаю, сколько еще они должны ждать до определенной задачи / команда получает завершены.
- 2. Визуально привлекательным и профессиональным
и есть еще много ...
Шаг 1: Скачать или получить исходный
Эта утилита (насколько я знаю) не является частью любой стандартный дистрибутив как Ubuntu, Fedora, Debian, и т.д. Так что мы будем скачать утилиту для SourceForge сайте. Вы заметите, что автор загружены различные форматы бинарного пакета установки: ". Деб" пакет для Debian / Ubuntu системах ". RPM" для систем на базе Fedora, а также архив с исходными кодами, если вам нужно, чтобы скомпилировать его. Мы будем скачать ". Деб" из пакетов и установит на системе Debian Lenny. Либо вы можете вручную скачать файл со своего интернет-браузера или вы можете просто ввести эту команду на Linux системы:
# apt-get update
# apt-get wget
# wget http://downloads.sourceforge.net/clpbar/bar_1.10.9_i386.deb?modtime=1183036896&big_mirror=0
Это будет скачать файл в директории, откуда вы дали выше команды.
Шаг 2: Установите файл "Деб."
». Деб" Как только вы загрузили файл на Linux системы, установить его с помощью DPKG команду:
# dpkg -i <file-you-downloaded-from-step1>
Example:
# dpkg -i bar_1.10.9_i386.deb
Шаг 3: Используйте его в пределах вашего скрипта, либо даже с автономными вместе с любой командой
После установки закончить установку с шага 2, теперь у Вас есть бинарный называемый "бар". Например просто наберите:
# bar
# t 0.0B/s elapsed: 0:00:01
Это показывает, что "бар" установлен правильно. Теперь давайте посмотрим, эта команда в некотором действии. Предположим, вы хотите распаковать 500 + MB файл (скажем image.tar.bz2), и вы хотели бы видеть прогресс бар и расчетное время завершения. Просто дайте следующую команду:
#bar image.tar.bz2 | tar xjf -
, и вы сможете увидеть что-то вроде этого:
# bar image.tar.bz2 | tar xjf -
44.2MB at 383.1KB/s eta: 0:05:20 26% [========= ]
Приведенные выше данные сообщают нам следующее:
ETA (расчетное время прибытия): 5:20
Сколько скорость передачи данных: 383.1KB / с
Сколько из файла untar'd: 44.2MB
Примечание: Не игнорировать знак "-" в конце команды выше, в противном случае вы получите сообщение об ошибке.
Шаг 4: Использование в скрипт
Использование "бар" полезности в скрипт очень простой. Вот пример сценария оболочки Bash:
#!/bin/bash
echo "Starting untaring image..."
bar image.tar.bz2 | tar xjf -
echo "Untarring successfully completed"
В приведенном выше примере, который мы видели выше, является лишь верхушкой айсберга. Я настоятельно рекомендую вам прочитать справочную страницу для бара, чтобы исследовать его истинного потенциала:
# man bar
Вы можете изменить цвет текста и фона, изменять метки и т.д.
Дополнительные примеры
Ниже приведены некоторые примеры прямо из справочной странице бара:
Пример 1: Использование строку, чтобы скопировать 2.4GB файл с устройства (в данном случае накопитель на магнитной ленте) в файл, используя 64K буфера.
# bar --in-file /dev/rmt/1cbn --out-file tape-restore.tar --size 2.4g --buffer-size 64k
Пример 2: Использование строку, чтобы скопировать файл 37tb по сети с помощью SSH.
# ssh remote `dd if=file` | bar --size 37t > file
Пример 3: Использование бар внутри трубы тар-команду:
Нормальная тар-команду трубы могут быть:
# (cd /some/dir/somewhere && tar -cf - *) | (cd /some/other/dir && tar -xBpf -)
3a: с использованием штрих в тар-труба:
# cd /some/dir/somewhere && tar -cf - *) | bar | (cd /some/other/dir && tar -xBpf -)
3b: Использование бар с размером вариант в тар-труба:
# du -sk /some/dir/somewhere
6281954 /some/dir/somewhere
# (cd /some/dir/somewhere && tar -cf - *) | bar --size 6281954k | (cd /some/other/dir && tar -xBpf -)
Пример 4: Использование баре на обычный файл. (Обратите внимание, что размер опция не нужна, здесь, как и бар будет получать размер файла сам.)
# bar --in-file ./file | ssh remote ` cd /some/dir && dd of=file`
Пример 5: Создание файла 512k случайных данных
# dd if=/dev/random bs=1024 count=512 | bar -s 512k -of ./random
Как вы можете видеть из приведенных выше примеров, что бар очень мощный и полезный инструмент.
Наслаждайтесь Bar'ing .... :)
Как обычно, пожалуйста, оставьте комментарий / обратной связи, если у вас есть. Комментарии призывает блоггеров размещать все больше и держать их духа.
Также не забудьте оценить этот пост ниже.













29 января 2009 в 2:18 вечера
Пра-пра, но вы не сможете отправить Ваш скрипт другу, так как он не обязательно имеет тот бар приложения. : (
Ответить на этот комментарий
Kushal Ответ:
30 января 2009 в 10:10 вечера
Привет kblcuk,
Спасибо. Да, вы правы ваш друг должен иметь бар полезности. Одна вещь, которую вы можете сделать, вы можете вставить проверку в вашем скрипте, который сначала удостоверится, что система (скажем машина вашего друга) имеет баре установлена утилита или нет. Если этого не произошло, для него явные сообщение о том, что "нужно утилиту" бар ", чтобы выполнить этот сценарий. Вы хотите, чтобы загрузить (Y / N)? "После этого вы просто можете сделать" Wget "и DPKG-я команда, и она будет установить его на свой компьютер друзей.
Надежда, что помогает.
Ответить на этот комментарий
12 февраля 2009 в 1:41 вечера
Привет Kushal,
хорошая утилита. У меня есть сценарий, который больше похож на сценарий сборки, которая компилирует и устанавливает несколько источников на за другой. Это то, как работает сделать. Как сделать использование штрих для этого?. Я знаю, что весь сценарий занимает 2 часа в загрузку процессора normla бежать.
Ответить на этот комментарий
12 февраля 2009 в 1:50 вечера
Можно ли использовать для отслеживания процесса сборки, когда вы обычно дают сделать для большого проекта?
Ответить на этот комментарий
Kushal Ответ:
12 февраля 2009 в 7:23 вечера
Привет Srinivas,
Ваш вопрос заставил меня спрашивает, если она действительно можно использовать замыкающий команды. Я думаю, что это не всегда возможно, потому что для того, чтобы работать бар он должен знать, предполагаемый размер операции. На основании, что она дает предполагаемый размер. С командой сделать (скажем, сделать Kernel) это действительно трудно понять, "размер" или даже определить, что "размер".
Тем не менее, я думаю, что может быть способом обмануть бар, чтобы сделать работу с. Я предлагаю вам прочесть страницу, потому что есть некоторые хорошие примеры и подробной документацией. Пожалуйста, дайте нам знать, в случае, если вы найдете решение для него. Я буду обновлять этот пост.
Спасибо.
Ответить на этот комментарий
15 апреля 2009 в 8:32
Ваш комментарий не был одобрен модератором из-за возможного обнаружения спама путем нашего ПО для фильтрации спама. Если вы считаете, что ваш комментарий был неправильно классифицированы как спам, пожалуйста, ответьте на это письмо
или
связаться с модератором по адресу: http://linux.koolsolutions.com/contact-me/
Ответить на этот комментарий
17 ноября 2009 в 1:48 утра
Привет,
Как я могу пересечь компиляции этого инструмента для PPC-Linux с помощью. / настроить?
Ответить на этот комментарий
25 июля 2010 в 12:59
К сожалению у меня были проблемы с использованием штрих на моей системе (Linux 2.6.3.4.whatever). К счастью я нашел аналогичную программу, pipeview (PV). PV является стандартным в моем дистрибутиве (OpenSuSE 11).
SRCDIR = $ 1
OUTFILE = $ 2
Тар-OCF - $ SRCDIR | PV-я 1-W-50 `berps дю-BS $ SRCDIR | AWK '{Print $ 1}'` | 7za-си $ OUTFILE
Ответить на этот комментарий
26 мая 2011 в 1:26 вечера
Привет там,
Я знаю эту тему немного старая, но как бы я поставил его Clam AV сканирования?
Я пробовал:
бар clamscan-R /
но это просто ошибки.
Спасибо заранее, Даниила.
Ответить на этот комментарий
21 февраля 2012 в 5:32 вечера
Привет там, я обнаружил свой сайт с помощью Google при поиске сопоставимых тему, ваш веб-сайт придумали, оказывается хорошо. Я закладкой в избранное | добавить в закладки.
Ответить на этот комментарий