Случайное удаление важных файлов может стать неприятным событием, особенно если вы не знаете, как отменить это действие. Для удаления файлов или каталогов в Linux используется команда rm, и после удаления файла его, как правило, невозможно восстановить из корзины.
Однако для восстановления удаленных файлов в Linux можно использовать несколько методов, в зависимости от обстоятельств. В этом руководстве мы рассмотрим способы отмены последствий команды rm и восстановления удаленных файлов в Linux.
Часть 1: Что такое команда RM?
Команда rm в Linux и других операционных системах на базе Unix удаляет или стирает файлы и каталоги. Она расшифровывается как "удалить". Команда rm обычно используется для удаления файлов и каталогов, которые больше не нужны. Это мощная команда, и ее следует использовать с осторожностью, поскольку она может навсегда удалить файлы, а корзины для их восстановления не существует.
При использовании команды rm вы можете использовать такие команды, как "-r" для удаления каталога и его содержимого, "-f" для принудительного удаления без запроса или "-v" для показа того, что было удалено.
Часть 2: Можно ли в Linux отменить выполнение RM?
Обычно невозможно отменить команду rm после ее выполнения, так как файл или каталог удаляется навсегда. Однако некоторые методы позволяют восстановить удаленные файлы с помощью RM в Linux, но это зависит от определенных обстоятельств. Некоторые методы включают использование инструмента восстановления файлов или командной строки.
Однако шансы на восстановление зависят от многих факторов, таких как файловая система, носитель информации, время, прошедшее с момента удаления, и были ли записаны на носитель новые данные.
Часть 3: Как отменить действие RM в Linux
Вот 3 различных способа отмены команды "rm" в Linux.
Способ 1: Отмена последствий RM с помощью Recoverit Linux Recovery (GUI Tool)
При восстановлении удаленных файлов по rm в Linux использование инструмента восстановления с графическим интерфейсом пользователя (GUI) может быть удобным вариантом для пользователей, которым неудобно работать с инструментами командной строки. Одним из лучших инструментов восстановления данных с графическим интерфейсом является Wondershare Recoverit Linux Recovery. Recoverit - это комплексное решение для восстановления данных для Linux, обладающее высококлассными функциями.
Wondershare Recoverit - ваше безопасное и надежное программное обеспечение для восстановления Linux
5 481 435 человек уже скачали.
Восстанавливает потерянные или удаленные документы, фотографии, видео, музыку, электронную почту и другие 1000+ типов файлов эффективно, безопасно и в полном объеме.
Совместим со всеми основными дистрибутивами Linux, включая Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro и др.
Помогает в 500+ вариантах потери данных, таких как удаление, форматирование диска, сбой ОС, отключение питания, вирусная атака, потеря раздела и многих других.
Простой интерфейс "укажи и щелкни" позволяет восстановить данные с жестких дисков Linux всего за несколько кликов.
Вы можете легко отменить rm в Linux с помощью Recoverit Linux Recovery в три простых шага:
Шаг 1. Выберите вариант восстановления Linux.
После загрузки и установки программы восстановления данных Linux на компьютер перейдите в раздел "NAS и Linux" и выберите функцию "Восстановление Linux".
Шаг 2. Подключитесь к системе Linux.
Перед началом процесса восстановления необходимо удаленно подключить Wondershare Recoverit к компьютерной системе Linux, указав IP-адрес, номер порта, имя пользователя и пароль.
Для Windows XP/Vista/7/8/10/11
Для macOS X 10.10 - macOS 13
Шаг 3. Сканирование и восстановление.
Recoverit начнет поиск отсутствующих данных на вашем Linux-устройстве сразу после завершения подключения. Вы можете предварительно просмотреть файлы, чтобы убедиться, что восстанавливается именно тот файл, который вам нужен.
Наконец, выберите нужные файлы и нажмите "Восстановить", чтобы восстановить rm в Linux.
Видеоурок по теме "Как восстановить файлы Linux"
Для Windows XP/Vista/7/8/10/11
Для macOS X 10.10 - macOS 13
Способ 2: Отмена действия RM с помощью Foremost (инструмент командной строки)
Для опытных пользователей Linux, умеющих работать с утилитами командной строки, использование инструмента командной строки для отмены команды rm может стать эффективным способом восстановления удаленных файлов. Одним из популярных инструментов командной строки для восстановления удаленных файлов в Linux является Foremost. Этот инструмент предлагает расширенные опции для сканирования и восстановления файлов и может быть запущен через Терминал.
Foremost - это программа восстановления данных для Linux, которая использует вырезание файлов для восстановления данных с использованием их заголовков, нижних колонтитулов и структур данных. Foremost может быстро восстановить файлы с жестких дисков, карт памяти, перьевых накопителей и других устройств. Она также может работать с файлами образов, созданных любым другим приложением.
Предположим, вы случайно удалили файлы на внешнем устройстве хранения с помощью команды rm; чтобы отменить команду rm в Linux, вы можете выполнить следующие действия.
Шаг 1. Установите Foremost.
Используйте менеджер пакетов APT для установки Foremost в любой Ubuntu и Debian Linux:
sudo apt install foremost
Запустите менеджер пакетов DNF для установки Foremost в Fedora Linux:
sudo dnf install foremost
Используйте "pacman" для установки Foremost в ArchLinux:
sudo pacman -S foremost
Шаг 2. Выполните следующую команду для просмотра доступных опций и их функций.
foremost [options]
Шаг 3. Подключите систему Linux к внешнему запоминающему устройству. Сначала необходимо определить путь к внешнему запоминающему устройству с помощью команды ниже и скопировать отсюда путь к диску.
fdisk -l
Шаг 4. Вы можете восстановить файлы с устройства после копирования пути к устройству. Используйте доступные опции команды "foremost -h".
Шаг 5. После выполнения этой команды все файлы будут сохранены в указанной папке. Вы можете увидеть восстановленную папку на рабочем столе; все файлы будут сохранены здесь.
Способ 3: Отмена последствий RM с помощью Scalpel (инструмент командной строки)
Еще одним рекомендуемым инструментом командной строки является Scalpel. Этот инструмент восстанавливает файлы путем анализа файловой системы и поиска файлов, помеченных как удаленные. Scalpel был создан с улучшением Foremost, равным 0,69.
Scalpel, как и Foremost, может быстро восстановить удаленные данные. Scalpel - отличный инструмент анализа, который поставляется с Kali Linux. Он может изменить конфигурационный файл, чтобы указать, какие типы файлов мы хотим восстановить.
Приведенные ниже инструкции объясняют, как использовать Scalpel для отмены команды rm в Linux:
Шаг 1. Чтобы воспользоваться Scalpel, введите следующую команду:
scalpel -h
Шаг 2. Выполните следующую команду для восстановления файлов:
scalpel -o recovered/ KaliLinuxIn.dd
Процесс восстановления завершен. Мы указали выходную папку с помощью "-o flag". В результате на нашем рабочем столе будет создана новая папка под названием "recovered".
Шаг 3. На рабочем столе мы видим восстановленную папку с результатами.
Часть 4: Как защитить данные Linux от случайного выполнения команды RM?
Совет #1: Использование команды Trash
Команда Trash - это утилита командной строки для перемещения файлов и каталогов в корзину. Это удобная альтернатива безвозвратному удалению файлов с помощью команды rm, поскольку она позволяет восстановить случайно удаленные файлы. В этой части мы будем использовать Корзину CLI.
Шаг 1. Давайте рассмотрим, как добавить приложение "trash-cli" в ваш дистрибутив Linux:
sudo apt install trash-cli -y # For Debian Based OS(Ubuntu, Mint, Pardus etc)
sudo apt-get install trash-cli -y # For Debian-based old version operating systems (Ubuntu, Mint, Pardus etc.)
sudo pacman -S trash-cli # For Arch Based OS(Archman Linux, Arch Linux, Manjaro etc)
sudo dnf install trash-cli # For Redhat-based OS(Centos, Fedora, AlmaLinux, Rocky Linux etc)
sudo yum install trash-cli -y # For Redhat-based old version operating systems(Centos, Fedora, AlmaLinux, Rocky Linux etc)
sudo zypper install trash-cli # For openSUSE
Шаг 2. После установки используйте команду trash для удаления файлов:
foc@ubuntu22:~$ ls
text-1.txt text-2.txt text-3.txt text-4.txt
foc@ubuntu22:~$ trash text-1.txt
foc@ubuntu22:~$ ls text-2.txt text-3.txt text-4.txt
Шаг 3. Команда trash удаляет файл; для каталога используйте параметр "-d":
foc@ubuntu22:~$ trash -d folder
Шаг 4. Команда trash-list может быть использована для составления списка удаленных файлов и каталогов:
foc@ubuntu22:~$ trash-list
2022-11-09 18:44:37
/home/foc/folder 2022-11-09 18:41:11
/home/foc/text-1.txt 2022-11-09 18:42:46
/home/foc/text-1.txt
Шаг 5. Для восстановления удаленного файла или папки из корзины используйте команду trash-restore:
foc@ubuntu22:~$ trash-list
2022-11-09 18:44:37 /home/foc/folder
2022-11-09 18:49:45 /home/foc/text-1.txt
foc@ubuntu22:~$ trash-restore /home/foc/text-1.txt
0 2022-11-09 18:49:45 /home/foc/text-1.txt
What file to restore [0..0]: 0
foc@ubuntu22:~$ ls
text-1.txt text-2.txt text-3.txt text-4.txt
Шаг 6. Команда trash-empty удаляет весь "мусор":
foc@ubuntu22:~$ trash-empty
Шаг 7. Теперь откройте текстовый редактор и добавьте следующую строку в файл ".bashrc" пользователя:
foc@ubuntu22:~$ nano ~/.bashrc
alias rm='trash'
Шаг 8. Затем сообщите об этом изменении пользователю:
foc@ubuntu22:~$ source ~/.bashrc
Шаг 9. Когда вы используете команду "rm", команда "trash" теперь работает:
foc@ubuntu22:~$ rm -h
Usage: trash [OPTION]... FILE...
Put files in trash
...
Совет # 2: Своего рода хакерское решение для Undo RM
Это решение взлома можно использовать для защиты файлов от удаления, но оно не поможет вам восстановить удаленные файлы.
Шаг 1. Команда "mv" теперь может использоваться как псевдоним для команды rm. Для этого в домашнем каталоге пользователя создается каталог ".Trash":
[foc@rocky9 ~]$ mkdir ~/.trash
Шаг 2. Затем определяется псевдоним для команды "mv":
[foc@rocky9 ~]$ vi ~/.bashrc
alias rm='mv --target-directory="$HOME/.trash"'
Шаг 3. Затем сообщите об этом изменении пользователю:
[foc@rocky9 ~]$ source ~/.bashrc
Шаг 4. Затем выполните команду "rm":
[foc@rocky9 ~]$ rm text-1
[foc@rocky9 ~]$ ls ~/.trash/
arch text-1
Если вы будете использовать RM таким образом, у вас будет ограничена функция "undo rm".
Совет #3: Использование интерактивной команды RM
И снова требуется псевдоним. На этот раз мы передадим параметр команде rm. Этот метод используется по умолчанию в некоторых дистрибутивах Linux. Они сделали параметр "-i" параметром по умолчанию для команды rm. Таким образом, пользователь запрашивает одобрение, прежде чем приступить к процессу удаления.
Шаг 1. Отредактируйте файл ".bashrc" следующим образом:
[manjaro manjaro]# nano ~/.bashrc
alias rm="rm -i"
Шаг 2. Затем сообщите об этом изменении пользователю:
[manjaro manjaro]# source ~/.bashrc
Шаг 3. Кроме того, попробуйте удалить файлы:
[manjaro manjaro]# rm text-1
rm: remove regular empty file 'text-1'? y
Перед удалением вы получите предупреждение. Функции отмены нет, но у вас будет некоторое время до начала удаления.
Подробнее: Как восстановить удаленные файлы с помощью команды RM в Linux (Ubuntu)
Заключение
Эта статья поможет вам узнать о различных методах отмены rm в Linux (с помощью графического интерфейса или инструмента командной строки). Удалять данные с серверов опасно. Предоставляя пользователям разрешение, следует проявлять осторожность. Однако систему можно защитить, используя методы и меры отмены удаления, перечисленные выше.
Для Windows XP/Vista/7/8/10/11
Для macOS X 10.10 - macOS 13