Можно ли восстановить файлы / каталоги, которые были удалены из терминала с помощью rm
и rm -r
? Если файл удален из графического интерфейса, его можно восстановить из корзины, но как восстановить файл, если он был удален с помощью утилиты rm ?.
Можно ли восстановить файлы / каталоги, которые были удалены из терминала с помощью rm
и rm -r
? Если файл удален из графического интерфейса, его можно восстановить из корзины, но как восстановить файл, если он был удален с помощью утилиты rm ?.
Ответы:
Для этого я использую trash-cli
пакет и следующий псевдоним в моем~/.bashrc
alias rm=trash
И trash-cli
пакет может быть установлен с помощью команды followoing: sudo apt-get install trash-cli
.
Файлы, которые вы удалите, будут перемещены в корзину, и вы можете увидеть их в nautilus trashcan.
Вы всегда можете получить доступ к реальному rm
, используя один из следующих методов:
command rm something
'rm' something
\rm something
Есть также команды для доступа к мусорке от терминала trash-list
, restore-trash
(или trash-restore
), trash-empty
устанавливаемый из пакета трэша-кли (то увидеть их страницу человека).
Последнее замечание: не рекомендуется использовать такой псевдоним для суперпользователя, поскольку он может мешать работе системы.
Удаление его из терминала удаляет его навсегда - восстановление очень сложно, а иногда и невозможно.
Если ваш тип раздела ext3
(проверьте его с помощью System->Administration->Disk Utility
), то взгляните на ext3undel .
Если это не так (если вы установили Ubuntu с настройками по умолчанию ), попробуйте extundelete
программу.
Хотя нет гарантии, что вы что-нибудь восстановите.
Вы ищете: extundelete - утилита для восстановления удаленных файлов из раздела ext3 / ext4
Чтобы найти такой пакет, вы можете попробовать: apt-cache search undelete
Для использования утилиты установите ее с помощью: sudo apt-get install extundelete
После установки обратитесь man extundelete
и внимательно изучите его.
Как альтернатива, если вы точно знаете, какой это тип файла ...
sudo apt-get install foremost
Теперь откройте, /etc/foremost.conf
и вы увидите длинный список закомментированных строк. Если ваш тип файла существует, раскомментируйте строку (вы можете также удалить ненужные строки).
Если ваш тип файла не существует, добавьте свою собственную строку. Скажем, я хочу восстановить файл .css и знаю, что он около 40K. Я мог бы добавить это:
css n 40000 Theme\sName: Plugin\sFixes
2-й столбец относится к чувствительности к регистру, третий столбец относится к верхнему пределу размера, 4-й столбец - как файл начинается (не забудьте использовать экранированные символы), а последний столбец - как обычно файл заканчивается.
Используйте следующую команду (отредактируйте диск соответственно. Можно проверить с помощью df
команды)
foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output
Что будет дальше, так это то, что прежде всего создаст папку с именем output и сбросит все восстановленные данные (в данном случае) в эту папку. Оттуда вы можете использовать diff
или meld
сравнить восстановленные «файлы» и посмотреть, какие из них наиболее актуальны.
php
исходный файл, используя rm -fr php/
2 php
файла. Менее чем за 2 минуты они восстановились отлично. В .conf
файл я добавил:php n 40000 <?php ?> ASCII
Говоря в самых абстрактных терминах, всякий раз, когда вы удаляете файл в графическом интерфейсе, файл «перемещается» в специальный «буфер», называемый каталогом trash
. Вы можете найти его в своем home
каталоге ~/.local/share/Trash/
. Файлы, «удаленные» из этого каталога, будут действительно удалены. Это реальное удаление - то, что происходит, когда вы используете rm
файл.
Восстановить удаленные файлы крайне сложно. Файлы в файловой системе представлены как узлы в B-дереве или тому подобное. Когда файл удаляется с помощью rm
, дерево обновляется, количество жестких ссылок уменьшается, соответствующая запись в списке каталогов удаляется. Если ваш файл имел жесткую ссылку, он абсолютно безопасен. Вы можете сделать file / -samefile filename
. Вы можете искать файл, если вы также помните его номер инода (это вряд ли имеет место).
Другой случай, когда ни одна из вышеперечисленных возможностей не верна. Всякий раз, когда вы rm
файл, запись файла в каталоге удаляется, уменьшая количество жестких ссылок на одну. И если количество жестких ссылок падает до нуля, то указатель на файл в индексе удаляется или помечается для удаления. В любом случае, ваш файл «все еще» находится на жестком диске. Файл фактически стирается с жесткого диска только при последующем перемонтировании. Восстановление файлов в такое время чрезвычайно сложно, включает в себя просмотр дерева файловой системы и инодов, представляющих фактические расположения дисковых блоков. Есть популярный инструмент, о котором я слышал, но никогда не использовал его, называется extundelete
. Хотя нет никакой гарантии, стоит попробовать.
После того, как вы успешно восстановите свои файлы, не спешите делать регулярные резервные копии. Это очень просто в Ubuntu.
Извините, но файлы, удаленные из командной строки с помощью «rm» и «rm -f», обходят «мусорную корзину», которую вы имеете на рабочем столе Gnome.
Вы также можете спросить, есть ли какие-нибудь инструменты extfs "undelete", такие как для FAT и NTFS. (Я не знаю ни одного, но я был бы удивлен, если бы не было ни одного.)
используйте утилиту " rm-trash ", которая обрабатывает их для последующего извлечения и поддерживает все параметры команды "rm".
sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash
"рм-мусор" это
rm