По мотивам 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