Гид по технологиям

Как удалить файл или папку в Linux

6 min read Linux Обновлено 22 Apr 2026
Как удалить файл и папку в Linux — команды и советы
Как удалить файл и папку в Linux — команды и советы

Терминал Linux с примерами команд удаления файлов и папок

Ключевые понятия в одну строчку

  • rm — удалить файл или каталог (гибкая и мощная команда).
  • rmdir — удалить только пустой каталог.
  • unlink — удалить единственную жёсткую ссылку на файл.
  • -r — рекурсивно (для каталогов).
  • -f — принудительно, без подтверждения.

Основные команды

Linux предоставляет три простые утилиты для удаления из терминала: unlink, rm и rmdir. Ниже показаны самые распространённые варианты применения.

Удаление с помощью unlink

unlink filename

unlink удаляет одну жёсткую ссылку на файл. Этой командой нельзя удалить несколько файлов за раз. Для массового удаления используйте rm.

Удаление простого файла с помощью rm

rm filename

Если файл защищён от записи, rm запросит подтверждение. Это механизм защиты системы: многие системные файлы имеют атрибут защищённости.

Пример запроса при удалении защищённого файла

rm: remove write-protected regular empty file 'filename'?

Удаление нескольких файлов

rm filename1 filename2 filename3

Удаление всех файлов с расширением

rm *.txt

Интерактивное удаление с подтверждением для каждого файла

rm -i *.txt

Принудительное удаление без подсказок

rm -f filename1 filename2

Объединение флагов

rm -iv *.docx

Удаление папок и каталогов

Для папок доступны rmdir и rm. Главное отличие: rmdir удаляет только пустые каталоги; rm может удалить и непустые, если указать соответствующие флаги.

Удаление пустой папки

rmdir /path/to/directory

Эквивалент с rm для пустой папки

rm -d /path/to/directory

Удаление нескольких папок

rm -r /dir1 /dir2 /dir3

Рекурсивное удаление непустой директории

rm -r /path/to/directory

Принудительное рекурсивное удаление без подтверждений

rm -rf /path/to/directory

Важно: rm -rf — мощная команда. Ошибка в пути может повлечь серьёзную потерю данных.

Дополнительные флаги и их смысл

  • -i — интерактивно, спрашивать подтверждение для каждого файла.
  • -f — форсированно, игнорировать несуществующие файлы и не запрашивать подтверждений.
  • -r или -R — рекурсивно удалять каталоги и их содержимое.
  • -v — подробно, выводить список удаляемых файлов.
  • -d — удалить пустой каталог.

Комбинации флагов дают гибкость. Хорошая практика — сначала выполнить rm с -i или с -v, чтобы убедиться в ожидаемом результате.

Когда команды не сработают — контрпримеры

  • rmdir не удалит каталог, если в нём есть файлы или поддиректории.
  • rm не сможет удалить файлы, к которым у пользователя нет прав; в этом случае требуется sudo или смена прав.
  • Если файл открыт другим процессом, он всё равно может быть удалён на уровне файловой системы, но процесс продолжит работать до закрытия дескриптора; для безопасного удаления в таких случаях остановите сервис.

Безопасность и восстановление

Важно понимать границы восстановления. Удаление через rm обычно удаляет указатель на данные, а не сами битовые последовательности. До перезаписи восстановление возможно, но не гарантировано.

Опции для более безопасного удаления

  • shred — многократная перезапись файлов перед удалением. Подходит для чувствительных данных, но зависит от файловой системы.
  • srm или secure-delete — специализированные утилиты для безопасной очистки.

Восстановление данных

  • Можно попробовать утилиты типа extundelete, testdisk или photorec для файловых систем ext, если данные ещё не перезаписаны.
  • Для LVM, RAID и зашифрованных разделов восстановление сложнее; при важности данных лучше обратиться к специалистам.

Примечание: соблюдайте требования обработки персональных данных и соответствие политике безопасности при удалении файлов, содержащих персональные данные.

Альтернативные подходы

  • Использовать графический файловый менеджер и корзину для безопасного удаления обычных пользовательских файлов.
  • Установить и использовать trash-cli для работы с корзиной из терминала (безопаснее, чем мгновенное rm).
  • Перемещать большие или критичные данные на архивный носитель перед удалением.

Пример удаления в корзину через trash-cli

trash-put sensitive.docx

Практические приёмы и эвристики

  • Прежде чем запускать rm -rf, выполните dry run с find или ls, чтобы убедиться в путях.
    • Пример: find /path -name ‘*.log’ -print
  • Всегда делайте резервные копии важных данных.
  • Для скриптов лучше использовать полные абсолютные пути и избегать wildcard’ов без проверки.
  • Для автоматизации используйте тестовую среду, чтобы предотвратить удаление продуктивных данных.

Пошаговый SOP для безопасного удаления

  1. Определите цель удаления и убедитесь, что у вас есть резервные копии.
  2. Проверьте права доступа к файлам: ls -l /path.
  3. Выполните проверочный вывод: ls or find для списка целевых файлов.
  4. Запустите rm с -i или -v для ручной проверки.
  5. Если нужно автоматическое удаление в скрипте, логируйте удаляемые пути и тестируйте на стенде.
  6. При удалении чувствительных данных используйте shred или srm.

Ролефокусированные чеклисты

  • Для разработчика:

    • Убедиться, что удаляемые файлы не используются в CI/CD.
    • Выполнить тесты на стенде.
    • Использовать rm -i при первом прогоне.
  • Для системного администратора:

    • Проверить права и владельцев.
    • Выполнить резервную копию конфигураций.
    • Подготовить команду отката или план восстановления.
  • Для пользовательского рабочего стола:

    • Удалять через GUI или trash-cli.
    • Очистить корзину, если требуется окончательное удаление.

Критерии приёмки

  • Все ненужные файлы удалены из целевой директории.
  • Отсутствует побочное удаление важных файлов или директорий.
  • Есть лог или отчёт о выполненной операции.
  • При необходимости выполнены процедуры надёжного удаления для конфиденциальных данных.

Тестовые сценарии

  • Удаление одиночного файла: создать тестовый файл, выполнить rm и убедиться, что файла нет.
  • Удаление нескольких файлов с шаблоном: создать набор файлов .tmp и проверить, что rm .tmp удалил только их.
  • Рекурсивное удаление: создать структуру каталогов с файлами и выполнить rm -r testdir; проверить отсутствие testdir.
  • Проверка защиты: пометить файл как read-only и проверить, что rm запрашивает подтверждение без -f.

Советы по совместимости и переносимости

  • Поведение rm и rmdir стабильно на большинстве дистрибутивов GNU/Linux.
  • На системах с альтернативными шеллами или встроенными командами (например BusyBox) некоторые флаги могут отсутствовать. Проверяйте man rm перед выполнением на существенно отличающейся системе.

Короткий глоссарий

  • Жёсткая ссылка — указатель в файловой системе на блоки данных; несколько имён могут ссылаться на одни данные.
  • Рекурсивное удаление — удаление каталога со всем его содержимым.
  • Перезапись — многократная запись случайных данных поверх файла для затруднения восстановления.

Часто задаваемые вопросы

Q: Можно ли восстановить файл после rm

A: Часто нет гарантии. Если данные не были перезаписаны, восстановление возможно с помощью специальных инструментов, но успех зависит от файловой системы и активности диска.

Q: Чем отличается rm -r и rm -rf

A: rm -r рекурсивно удаляет каталоги и может запрашивать подтверждение для защищённых файлов. rm -rf добавляет принудительное удаление без запросов.

Q: Как безопасно удалить конфиденциальный файл

A: Используйте shred или srm для многократной перезаписи перед удалением, или шифруйте данные до записи, чтобы при удалении ключей данные стали недоступны.

Короткое итоговое резюме

Удаление в Linux — простая операция, но требующая осторожности. Используйте интерактивные флаги при ручной работе, автоматизируйте с логированием, применяйте средства безопасного удаления для конфиденциальных данных и всегда держите актуальные резервные копии.

Важно: перед массовым удалением выполните проверочный вывод командой ls или find, и никогда не запускайте rm -rf как root без полной уверенности в путях.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Trello для фрилансера — управление проектами и клиентами
Productivity

Trello для фрилансера — управление проектами и клиентами

Идеальная фотосессия беременных: 6 ключевых советов
Фотография

Идеальная фотосессия беременных: 6 ключевых советов

Слои в фотографии: добавить глубину и выразительность
Фотография

Слои в фотографии: добавить глубину и выразительность

Как делать лучшие headshot-портреты
Фотография

Как делать лучшие headshot-портреты

Как снимать отличные фото на вечеринке
Фотография

Как снимать отличные фото на вечеринке

Как заблокировать отслеживание Facebook
Приватность

Как заблокировать отслеживание Facebook