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

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

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

В Linux удаление файлов и папок может быть выполнено различными способами, каждый из которых предлагает различные уровни контроля и гибкости в зависимости от ваших требований. Одним из наиболее распространенных способов является использование команды rm, которая предоставляет опции для удаления файлов и каталогов, и даже рекурсивного удаления целых деревьев каталогов.

Итак, у меня есть:

  • Файлы в пользовательской папке Документы (Screenshot_1.png).
  • Пустая папка (emty_folder).
  • И папки с файлами (folder_with_files).
Удаление файлов Linux

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

Перейти к просмотру
🐧 Как восстановить файлы после очистки Корзины Linux или комбинации Shift + Del

🐧 Как восстановить файлы после очистки Корзины 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

Удаление файла Screenshot_1.png в Linux

Файл удален. В Корзину он не попал.

Как удалить папку через Терминал Linux

Чтобы удалить пустую папку воспользуемся командой rmdir.

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

Для этого, пишу саму команду – rmdir, и название папки:

rmdir empty_folder

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

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

Удаление файла Screenshot_1.png в Linux

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

rm folder_with_files_1/*

Удаление файлов каталога folder_with_files_1 в Linux

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

rm -r folder_with_files_2

Удаление каталога с файлами folder_with_files_2 в Linux

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

Удаление файлов и папок в Linux

Как восстановить файлы и папки, которые удалены через Linux-терминал

Папки, удаленные с помощью команды rmdir, а также каталоги и их содержимое, удаленные с помощью команды rm, не попадают в Корзину Linux. Поэтому считается, что их невозможно восстановить.

Давайте попытаемся восстановить наши файлы и папки с помощью программы для восстановления данных Hetman Partition Recovery.

Инструмент восстанавливает файлы с любых устройств, независимо от причины потери данных.
  • Запускаем Hetman Partition Recovery;

  • Кликаем по диску, на котором хранились наши данные;

    Hetman Partition Recovery: Кликаем по диску, на котором хранились файлы
  • Выбираем тип анализа. Для начала достаточно Быстрого сканирования.

    Hetman Partition Recovery: Быстрое сканирование
  • По окончании сканирования, жмем Готово;

    Hetman Partition Recovery: сканирование диска завершено
  • Программа обнаружила наши файлы:

    • Файлы в пользовательской папке Документы.
    • Пустая папка.
    • И папки с файлами.
    Hetman Partition Recovery: Программа обнаружила удаленные файлы и папки
  • Также мы можем просмотреть наши файлы в окне предварительного просмотра.

    Hetman Partition Recovery: предварительный просмотр файлов
  • Чтобы восстановить нужные файлы, выберите их и нажмите кнопку Восстановить;

    Hetman Partition Recovery: восстановление файлов
  • Потом, укажите способ сохранения;

    Hetman Partition Recovery: сохранить файлы и папки на диск
  • Далее;

  • Указываем папку;

    Hetman Partition Recovery: указать папку для сохранения восстановленных данных
  • Восстановить.

  • После восстановления все файлы будут сохранены в указанную вами папку во время восстановления.

    Hetman Partition Recovery: файлы и папки восстановлены

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

Для этого:

  • Кликаем правой кнопкой мыши на нужном диске;
  • Выбираем Проанализировать заново.
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

Перемещение папки в Linux

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

Перемещение папки в Linux
  • Запускаем Hetman Partition Recovery;

  • Кликаем по диску, на котором хранилась папка;

    Hetman Partition Recovery: открыть диск
  • Выбираем тип анализа. Для начала достаточно Быстрого сканирования.

  • По окончании сканирования, жмем Готово;

  • Программа обнаружила нашу папку и обозначила ее как удаленную.

    Hetman Partition Recovery: восстановление перемещенной папки

То есть, файлы и папки, которые утеряны в результате их перемещения, также можно восстановить.

Вывод

Удаление файлов в Linux – это мощный процесс, и ошибки могут привести к потере данных. Прежде чем использовать команды, убедитесь, что вы указали правильный путь в папку, чтобы не удалить важные файлы.

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

Dmytriy Zhura

Автор: , Технический писатель

Дмитрий Жура – автор и один из IT-инженеров компании Hetman Software. Имеет почти 10 летний опыт работы в IT-сфере: администрирование и настройка серверов, установка операционных систем и различного программного обеспечения, настройка сети, информационная безопасность, внедрения и консультация по использованию специализированного ПО. Является экспертом в области восстановления данных, файловых систем, устройств хранения данных и RAID массивов.

Andrey Mareev

Редактор: , Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат