rm - одна из самых опасных команд в linux ввиду отсутствия корзины. Ошибся путем, переменной или шаблоном и данные ушли навсегда. Но есть простые приемы, которые делают работу с удалением безопасной.▪️ Простой способ - ls
ls -ld /path/to/delete/*
Если вывод выглядит корректно только потом:
rm -rf /path/to/delete/*
▪️Проверка через echo. Отлично работает со сложными шаблонами:
echo rm -rf /data/tmp/*
Пока есть echo - ничего не удалится.
▪️ Проверка через find
find /logs -type f -mtime +7 -print
Проверили список -> заменили
-print на -delete:
find /logs -type f -mtime +7 -delete
▪️ Подтверждение перед удалением. Встроенный интерактивный режим
rm -ri /important/data
-i - спрашивает подтверждение-r - рекурсивно▪️ Свой безопасный wrapper
safe_rm() {
echo "Будут удалены:"
ls -ld "$@"
read -p "Продолжить? [y/N] " ans
[[ "$ans" == "y" ]] && rm -rf "$@"
}
Использование:
safe_rm /path/to/delete
▪️ Проверка на пустые переменные (обязательно!)
Опасно:
rm -rf "$DIR"
Безопасно:
[[ -n "$DIR" ]] && rm -rf "$DIR"
BashTex 📱 #bash #utils