Как в Linux восстановить файлы, которые удалены через rm, rmdir или mv?
Читайте о том, как восстановить файлы и папки, утеряны в Linux в результате удаления или перемещения, после использования команд терминала rm, rmdir, или mv.

- Как удалить файл через Терминал Linux
- Как удалить папку через Терминал Linux
- Как восстановить файлы и папки, которые удалены через Linux-терминал
- Как восстановить файлы и папки, перемещенные через Linux-терминал
- Вывод
- Вопросы и ответы
- Комментарии
В Linux удаление файлов и папок может быть выполнено различными способами, каждый из которых предлагает различные уровни контроля и гибкости в зависимости от ваших требований. Одним из наиболее распространенных способов является использование команды rm, которая предоставляет опции для удаления файлов и каталогов, и даже рекурсивного удаления целых деревьев каталогов.
Итак, у меня есть:
- Файлы в пользовательской папке Документы (Screenshot_1.png).
- Пустая папка (emty_folder).
- И папки с файлами (folder_with_files).

Данные команды терминала и способы восстановления данных я покажу на примере CentOS. Но они также актуальны и на других версиях Linux.

🐧 Как восстановить файлы после очистки Корзины Linux или комбинации Shift + Del
Как удалить файл через Терминал Linux
Запускаю терминал из нужной папки и удаляю определенный файл. Пусть это будут изображения. Для этого использую команду rm.
Ключ | Описание |
---|---|
-f | Удаляет файлы без запроса подтверждения (force). |
-i | Спрашивает подтверждение перед удалением каждого файла. |
-I | Спрашивает подтверждение перед удалением более трех файлов или при рекурсивном удалении. |
-r или -R | Рекурсивно удаляет каталоги и их содержимое. |
-d | Удаляет пустые каталоги. |
-v | Выводит информацию о каждом удаленном файле или каталоге (verbose). |
–preserve-root | Защищает корневой каталог `/` от случайного удаления (по умолчанию включен). |
–no-preserve-root | Отключает защиту корневого каталога `/`, позволяя его удалить (опасно!). |
–help | Вывод справки о команде `rm`. |
–version | Показывает версию команды `rm`. |
Пишу саму команду – rm, название файла и его расширение (тип):
rm Screenshot_1.png

Файл удален. В Корзину он не попал.
Как удалить папку через Терминал Linux
Чтобы удалить пустую папку воспользуемся командой rmdir.
Ключ | Описание |
---|---|
--ignore-fail-on-non-empty | Игнорирует ошибки при попытке удалить непустые каталоги. |
-p или --parents | Удаляет указанный каталог и, если они стали пустыми, его родительские каталоги. |
-v или --verbose | Выводит сообщение о каждом успешно удаленном каталоге. |
--help | Отображает справку об использовании команды `rmdir`. |
--version | Показывает информацию о версии команды `rmdir`. |
Для этого, пишу саму команду – rmdir, и название папки:
rmdir empty_folder

Но, для удаления папки с файлами данная команда не подходит. Чтобы удалить файлы в какой-то папке, нужно перейти к ней и запустить из нее Терминал. А затем удалить нужный файл с помощью команды rm, как мы это делали раньше.

Или, чтобы удалить все файлы из каталога, то есть очистить его содержимое, введите:
rm folder_with_files_1/*

Если вы хотите удалить папку вместе со всем ее содержимым, воспользуйтесь командой rm с опцией -r (рекурсивно).
rm -r folder_with_files_2

Итак, мы удалили файл в папке Документы, очистили содержимое одной папки и удалили одну из папок полностью, включая ее содержимое. В Корзину данные файлы и папки не попали. Как их восстановить?

Как восстановить файлы и папки, которые удалены через Linux-терминал
Папки, удаленные с помощью команды rmdir, а также каталоги и их содержимое, удаленные с помощью команды rm, не попадают в Корзину Linux. Поэтому считается, что их невозможно восстановить.
Давайте попытаемся восстановить наши файлы и папки с помощью программы для восстановления данных Hetman Partition Recovery.
-
Запускаем Hetman Partition Recovery;
-
Кликаем по диску, на котором хранились наши данные;
-
Выбираем тип анализа. Для начала достаточно Быстрого сканирования.
-
По окончании сканирования, жмем Готово;
-
Программа обнаружила наши файлы:
- Файлы в пользовательской папке Документы.
- Пустая папка.
- И папки с файлами.
-
Также мы можем просмотреть наши файлы в окне предварительного просмотра.
-
Чтобы восстановить нужные файлы, выберите их и нажмите кнопку Восстановить;
-
Потом, укажите способ сохранения;
-
Далее;
-
Указываем папку;
-
Восстановить.
-
После восстановления все файлы будут сохранены в указанную вами папку во время восстановления.
Если файлы были удалены давно, а их отсутствие вы заметили только сейчас, или в результате Быстрого анализа диска программа не обнаружила нужные данные, то просканируйте диск используя Полный анализ.
Для этого:
- Кликаем правой кнопкой мыши на нужном диске;
- Выбираем Проанализировать заново.

Как правило, программа сама определяет файловую систему диска. Но, если вы хотите узнать файловую систему вашего диска, то перейдите к инструменту Диски и посмотрите ее там.

Как восстановить файлы и папки, перемещенные через Linux-терминал
Хочу еще кратко остановиться на функции перемещения файлов и папок в Linux.
Команда mv в операционных системах Linux используется для перемещения или переименования файлов и папок.
Ключ | Описание |
---|---|
-b | Создает резервную копию файла перед перемещением или переименованием. |
-f | Принудительно заменяет существующие файлы без запроса подтверждения. |
-i | Спрашивает подтверждение перед перезаписью существующего файла. |
-n | Запрещает перезапись существующих файлов. |
-u | Перемещает файл только если исходный файл новее целевого или целевого отсутствует. |
-v | Выводит информацию о каждом выполненном шаге (режим детального вывода). |
--backup | Создает резервную копию файла перед перезаписью. |
--suffix=суффикс | Определяет суффикс для резервной копии (по умолчанию `~`). |
--strip-trailing-slashes | Удаляет конечные слеши (`/`) из имен файлов. |
--target-directory=каталог | Указывает целевой каталог для перемещения файлов. |
--no-clobber | То же, что `-n`, не перезаписывает существующие файлы. |
--verbose | То же, что `-v`, выводит информацию о действиях команды. |
Для перемещения папки вводим следующую команду. Например, переместим ее на флешку:
mv folder_with_files_3 /media/ubuntu/USB

Отсоединяем флешку от ПК. Папка с файлами утеряна.

Запускаем Hetman Partition Recovery;
-
Кликаем по диску, на котором хранилась папка;
-
Выбираем тип анализа. Для начала достаточно Быстрого сканирования.
-
По окончании сканирования, жмем Готово;
-
Программа обнаружила нашу папку и обозначила ее как удаленную.
То есть, файлы и папки, которые утеряны в результате их перемещения, также можно восстановить.
Вывод
Удаление файлов в Linux – это мощный процесс, и ошибки могут привести к потере данных. Прежде чем использовать команды, убедитесь, что вы указали правильный путь в папку, чтобы не удалить важные файлы.
Выбор подходящего способа удаления зависит от конкретного варианта использования, и важно оценить риски, связанные с каждым методом.