Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Как удалить папку со всем содержимым в Linux: команда rm -rf без лишних вопросов

Обновлено: 27.08.2026 · Официальная документация ↗

Почему папка не удаляется стандартными командами

Начинающие пользователи Linux часто пытаются удалить папку командой rmdir my_folder или простым rm my_folder, но получают ошибку: rmdir: failed to remove 'my_folder': Directory not empty или rm: cannot remove 'my_folder': Is a directory. В Linux папки с вложенными файлами и подпапками требуют специального флага рекурсивного удаления.

Шпаргалка по флагам команды rm

ФлагРасшифровкаЧто делает
-r или -RRecursiveУдаляет папку и абсолютно все вложенные в нее файлы и подпапки.
-fForceУдаляет без подтверждения (не спрашивает «вы уверены?») и игнорирует несуществующие файлы.
-vVerboseВыводит на экран список каждого удаляемого файла (наглядно показывает процесс).

Пошаговое удаление папок и файлов через терминал

Шаг 1: Безопасная проверка текущей папки (pwd)

Команда rm -rf удаляет данные навсегда (в Linux НЕТ корзины). Перед запуском обязательно проверьте, где именно вы находитесь:

pwd

Шаг 2: Удаление непустой папки в текущей директории

Удалим папку old_site со всеми вложенными файлами:

rm -rf old_site

Шаг 3: Удаление папки с запросом подтверждения (Безопасный режим)

Если вы боитесь стереть лишнее, используйте флаг -i (interactive):

rm -r -i my_folder

Терминал будет спрашивать подтверждение (y/n) перед удалением каждого файла внутри каталога.

Шаг 4: Удаление системных папок с правами администратора (sudo)

Если папка принадлежит другому пользователю или веб-серверу (например, /var/www/cache), добавьте sudo:

sudo rm -rf /var/www/cache

Шаг 5: Наглядное удаление с выводом списка файлов (-v)

rm -rfv test_project

Типовые ошибки администраторов

  • Случайный пробел в пути: Если написать sudo rm -rf / my_folder (с пробелом после первого слеша), команда начнет полное уничтожение всей корневой операционной системы. Будьте предельно внимательны к пробелам!
  • Использование маски звездочки без проверки: Команда rm -rf * в домашней папке удалит все пользовательские документы. Рекомендуется сначала проверить список файлов командой ls *.
Случайно удалили важные конфигурационные файлы или базу данных?
Специалисты ITSTM оперативно остановят запись на диск, снимут бинарный образ файловой системы и проведут процедуру восстановления удаленных данных из сырых блоков диска.
💡 Практика специалистов: При написании Bash-скриптов никогда не используйте конструкции вида 'rm -rf $DIR/*', если переменная $DIR не проверена на пустоту. Если переменная окажется пустой, скрипт выполнит 'rm -rf /*'. Всегда используйте безопасную проверку: 'rm -rf "${DIR:?}/"*'.

Частые вопросы (FAQ)

Можно ли восстановить файлы после выполнения команды rm -rf?

В Linux нет встроенной «Корзины». Файлы помечаются как удаленные, а их секторы объявляются свободными. Восстановление возможно только с помощью специализированных утилит (TestDisk, PhotoRec, ext4magic), если на диск не велась активная запись.

Почему при удалении папки с sudo все равно пишется 'Operation not permitted'?

На папку или файлы внутри нее может быть установлен системный атрибут неизменяемости (immutable). Снимите его командой: sudo chattr -i /путь/к/файлу, после чего повторите удаление.

Защищает ли Linux от выполнения катастрофической команды rm -rf /?

Да, современные версии GNU coreutils содержат встроенную защиту '--preserve-root', которая блокирует команду 'rm -rf /'. Однако команда 'rm -rf /*' все еще способна уничтожить все данные в корне системы.

Как удалить файл или папку, имя которой начинается с дефиса (например, -file.txt)?

Используйте разделитель '--' или относительный путь: rm -- -file.txt или rm ./-file.txt.

Полезные материалы
Рекомендуем