Полезные однострочные скрипты Bash

По мотивам https://t.me/srv_admin/2207

Работа с файлами и директориями

📌 Создание сразу нескольких директорий dir1, dir2, dir3:

mkdir -p -v /home/user/{dir1,dir2,dir3}

То же самое, только с файлами. Создаём 3 файла:

touch file0{1,2,3}

Переименовываем файл:

mv file.{old,new}

Удобный приём с оператором { }, можно использовать в различных командах.

📌 Смотрим файл конфигурации без комментариев (начинаются с ; или #) и пустых (^$) строк:

grep -E -v ';|#|^$' /etc/php.ini

Этим постоянно приходится пользоваться, особенно в конфигах php, asterisk, postgresql.

📌 Удаляем комментарии и пустые строки и записываем чистый конфиг в новый файл:

sed '/^;|^$|^#/d' php.ini > php.ini.clean

Изменение параметра в конфиге post_max_size на новое значение:

sed -i 's/^post_max_size =.*/post_max_size = 16M/g' php.ini

Сначала запустите команду без ключа -i и проверьте результат. Файл не изменится.

📌 Сравниваем содержимое файлов двух директорий с выводом результата в файл:

diff -Naur /var/www/site.ru/ /mnt/backup/site.ru/ > ~/site.diff

Удобно для поиска изменений в файлах сайта после взлома. Сравниваете с бэкапом и сразу все изменения перед глазами.

📌 Считаем размер всех файлов определённого типа в директории.

i=0; for n in $(find /mnt/files -type f -name '*.iso' -print \

| xargs stat --printf "%s "); do ((i+=n)); done; echo $i

Результат будет в байтах.

Сравнить два файла и вывести НЕ уникальные значения

sort first-file.txt second-file.txt | uniq -d

Добавить комментарий