⌨️ DevOps Toolkit
Linux-команды
Готовые bash-команды с возможностью копирования. Некоторые команды поддерживают подстановку значений через инпуты.
🖼
Конвертировать изображения в WebP
ImageMagick · resize · quality
jpg
png
jpeg
bash
mkdir -p webp
for f in *.jpg; do
convert "$f" -resize 600x -quality 85 "webp/${f%.jpg}.webp"
done
Требуется ImageMagick:
apt install imagemagick
🔄
Замена домена во всех файлах сайта
grep + sed · http/https · www
bash
OLD_DOMAIN='1xbetph.net'
NEW_DOMAIN='1x-betph.com'
old_esc=${OLD_DOMAIN//./\\.}
new_rep=${NEW_DOMAIN//&/\\&}
grep -rIlZ -E "https?://(www\.)?${old_esc}|www\.${old_esc}|${old_esc}" . | while IFS= read -r -d '' file; do
sed -i \
-e "s#https://www\.${old_esc}#https://${new_rep}#g" \
-e "s#http://www\.${old_esc}#http://${new_rep}#g" \
-e "s#https://${old_esc}#https://${new_rep}#g" \
-e "s#http://${old_esc}#http://${new_rep}#g" \
-e "s#www\.${old_esc}#${new_rep}#g" \
-e "s#${old_esc}#${new_rep}#g" "$file"
done
Запускайте из корневого каталога сайта. Команда изменяет файлы на месте — сделайте бэкап перед запуском.
📄
Объединить .txt файлы в один (без дублей)
find + xargs + awk · all.txt
Что делает команда:
берёт все
берёт все
.txt
файлы в текущем каталоге, исключает дубли строк, сохраняет результат в
all.txt.
Исходный all.txt в обработку не включается.
bash
find . -maxdepth 1 -type f -name '*.txt' ! -name 'all.txt' -print0 \ | xargs -0 cat \ | awk 'NF && !seen[$0]++' > all.txt
⚙️
Создать .htaccess во всех подкаталогах
find + touch · массовое создание
bash
find /var/www/indonesia7/data/www -mindepth 1 -maxdepth 1 -type d \
-exec touch {}/.htaccess \;
Команда создаёт пустой
.htaccess в каждом подкаталоге первого уровня указанного пути.