Як в 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 відновити файли та папки, які видалено через Термінал (rm, rmdir, mv)
Як видалити файл через Термінал 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 – це потужний процес, і помилки можуть призвести до втрати даних. Перш ніж використовувати команди, переконайтеся, що ви вказали правильний шлях до папки, щоб не видалити важливі файли.
Вибір відповідного способу видалення залежить від конкретного варіанта використання, і важливо оцінити ризики, пов'язані з кожним методом.