TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #476 1.01K
Безопасная работа с rm

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
  • 👍 11
More from @bash_tex
  1. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  2. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  3. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  4. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  5. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  6. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →