Запись образа на флешку для ленивых

Частенько приходится записывать образ на флешку, бэкап на диск, диск в бэкап.
Родил для себя скрипт на три строчки которым и с вами делюсь:

#!/bin/bash
# Запись образа на флешку для ленивых

echo "Что пишем: $1"
echo "Куда пишем: $2"

read -p "Press любую key..."

pv $1 | dd of=$2

sleep 2

sync

read -p "Запись завершена. Press любую key..."
sudo ./ImgWriter.sh /путь/до/образа.iso /dev/sdX

Небольшой ман по grep

Используем grep для поиска текста

Поискать слово word в файле

cat /path/2/file.log | grep word

или

grep "word" /path/2/file.log

или во всех файлах в папке

grep “text string” /path/2/my/dir

Как найти текст во всех подкаталогах

grep позволяет искать в подкаталогах, используя опцию -r:

grep -r "any word combination " /var/log

Вывести только имена найденных grep файлов

Чтобы grep вывела имена найденных файлов, стоит использовать опцию -H.

grep -Hr ERROR /var/log

Теперь нужно прогнать вывод через фильтр, чтобы оставить только имена файлов, в которых есть вхождение текста, а также удалить дубликаты. Нужно использовать такую команду:

grep -Hr ERROR /var/log | cut -d: -f1 | sort -u

Если требуется игнорировать регистр то следует добавить флаг -i

grep -i error /var/log/apache.log

А флаг -s отключит вывод сообщений о файлах которые не удалось прочитать
-n выведет номер строки в которой нашлось искомое слово
А выдаст сколько строк содержит искомое слово

Заменить один текст на другой в куче файлов

sed -i 's/ЧТО_МЕНЯЕМ/НА_ЧТО_МЕНЯЕМ/g' /путь/до/папки/с/файлами/*.РАСШИРЕНИЕ

ZSH

ZSH это отличная альтернатива BASH. Причём как для Linux так и для OSX.

Главным отличием ZSH является его гибкость настройки и внешней кастомизации. Для себя я выделил несколько пунктов:

  1. Автодополнение — вы скажете что и в BASH оно есть, но разве баш позволяет выбирать пункт из списка автодополнения стрелочками или курсором;
  2. Поиск пакета в репозиториях — Если я введу mc но он у меня не установлен то ZSH попросит пакетный менеджер поискать и если что-то найдётся вывести приглашение усстановить;
  3. Алиасы — они тоже есть в BASH, но разве баш умеет задавать алиас для запуска по расширению файла? Например если ядобавлю в конфиг alias -s {html,htm}=chromium то по запросу /srv/www/htdocs/index.html будет открываться браузер с этой страничкой;

После установки ZSH ничем не отличается от BASH, ну разве что кроме того что при первом обращении предлагает создать конфиг. Чтобы настроить ZSH я предлагаю вам погуглить уже готовые .zshrc и скачать себе. ещё советую проект oh-my-zsh который позволит настроить внешний вид и плагины. Например для OpenSuSe есть плагин suse конфиг которого содержит в себе алиасы типо zin как sudo zypper in или zup как sudo zypper up.

Примеры оформления

687474703a2f2f692e696d6775722e636f6d2f61506d4c692e706e67 687474703a2f2f6935392e74696e797069632e636f6d2f327631356475722e706e67 zsh zsh

Как видно правильно настроенный zsh умеет отображать например крестиком если предыдущая задача не была выполнена и спрашивать «не хочу ли я добавить sudo» если я забыл про это сам..