Можно ли восстановить файлы / каталоги, удаленные с помощью rm?

Можно ли восстановить файлы / каталоги, которые были удалены из терминала, используя rm и rm -r ?. Если файл удален из графического интерфейса, его можно восстановить из корзины, но как восстановить файл, если он был удален с помощью утилиты rm?.

85
задан 20 December 2014 в 18:09

8 ответов

Для этого я использую пакет trash-cli и следующий псевдоним в моей ~/.bashrc

alias rm=trash

, а пакет trash-cli может быть установлен командой сопровождения: sudo apt-get install trash-cli.

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

Вы всегда можете получить доступ к реальному rm, используя один из следующих методов:

command rm something
'rm' something
\rm something

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

Последнее замечание, не рекомендуется использовать такой псевдоним для супер-пользователя, так как он может мешать работе системы.

71
ответ дан 20 December 2014 в 18:09

Dir sicht: extundelete - Utility fir geläscht Dateien aus ext3 / ext4 Partition ze recuperéieren

Fir sou e Package ze fannen, kënnt Dir probéiert: apt-cache Sich undelete

Fir den Utility ze benotzen installéiert et mat: sudo apt-get install extundelete

No der Installatioun rufft op man extundelete a studéiert se suergfälteg.

13
ответ дан 20 December 2014 в 18:09

Просто в качестве альтернативы, если вы точно знаете, какой это тип файла. ...

sudo apt-get install foremost

Теперь откройте /etc/foremost.conf и вы увидите длинный список закомментированных строк. Если ваш тип файла существует, прокомментируйте строку (возможно, вы также захотите удалить не относящиеся к делу строки).

Если ваш тип файла не существует, добавьте свою собственную строку. Скажем, я хочу восстановить .css-файл, и я знаю его около 40K. Я могу это добавить:

css     n       40000   Theme\sName:     Plugin\sFixes

Вторая колонка относится к регистру, третья - к верхнему пределу размера, четвертая - к тому, как начинается файл (не забудьте использовать экранированные символы), а последняя - к тому, как файл обычно заканчивается.

Используйте следующую команду (отредактируйте диск соответствующим образом. можно проверить командой df)

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

Далее произойдет то, что в первую очередь будет создана папка, называемая output, и все восстановленные данные (в данном случае) будут сброшены в эту папку. Оттуда вы можете использовать diff или meld, чтобы сравнить восстановленные "файлы" и посмотреть, какие из них самые современные.

8
ответ дан 20 December 2014 в 18:09

Говоря самым абстрактным языком, всякий раз, когда вы удаляете файл в графическом интерфейсе, файл «перемещается» в специальный «буфер», каталог, называемый trash . Вы можете найти его в своем домашнем каталоге , ~ / .local / share / Trash / . Файлы, «удаленные» из этого каталога, действительно будут удалены. Настоящее удаление происходит, когда вы используете rm для файла.

Восстановить удаленные файлы крайне сложно. Файлы в файловой системе представлены как узлы в B-дереве или т.п. Когда файл удаляется с использованием rm , дерево обновляется, количество жестких ссылок уменьшается, соответствующая запись в списке каталогов удаляется. Если у вашего файла вообще есть жесткая ссылка, ваш файл абсолютно безопасен. Вы можете сделать файл / -samefile filename . Вы можете выполнить поиск в файле, если помните и его номер inode (вряд ли это так).

Другой случай - когда ни одна из вышеперечисленных возможностей не верна. Когда вы rm файл, запись файла в каталоге удаляется, уменьшая количество жестких ссылок на единицу. А если количество жестких ссылок упадет до нуля, то указатель на файл в индексном дескрипторе будет сброшен или помечен для удаления. В любом случае ваш файл «по-прежнему» находится на жестком диске. Фактически файл стирается с жесткого диска только при последующем повторном подключении. Восстановление файлов в такой момент чрезвычайно сложно, включает в себя просмотр дерева файловой системы и индексных дескрипторов, представляющих фактическое расположение блоков на диске. Есть популярный инструмент, о котором я слышал, но никогда не использовал, под названием extundelete . Хотя нет никакой гарантии, стоит попробовать.

Как только вы восстановите файлы успешно или нет, поспешите делать регулярные резервные копии. В Ubuntu это очень просто.

5
ответ дан 20 December 2014 в 18:09

Извините, но файлы, удаленные из командной строки с "rm" и "rm -f", обходят "Мусорный контейнер", имеющийся у вас на рабочем столе Gnome.

Вы также можете спросить, есть ли какие-нибудь extfs "undelete" утилиты, подобные существующим для FAT и NTFS. (Не знаю ни одного, но удивлюсь, если их нет.)

1
ответ дан 20 December 2014 в 18:09

Удаление из терминала удаляет его навсегда - восстановление очень сложно, а иногда и невозможно.

Если ваш тип раздела ext3 (проверьте его с помощью System->Administration->Disk Utility), то посмотрите на ext3undel. Если это не так (если вы установили Ubuntu с настройками по умолчанию), попробуйте программу extundelete.

Однако, нет никакой гарантии, что вы что-нибудь восстановите.

27
ответ дан 20 December 2014 в 18:09

uża l-utilità " rm-trash " li timmaniġġa tpoġġihom fit-trash għal irkupru aktar tard u tappoġġja l-għażliet kollha tal-kmand "rm".

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

"rm-trash" hija

  • maħsub biex jintuża minflok rm
  • jimmaniġġja l-għażliet kollha li rm jista 'jieħu
  • jimmaniġġa l-kolliżjonijiet ta' l-isem tal-fajl mal-fajls diġà fit-trash
  • jimmaniġġja xi kwistjonijiet ta 'permess awtomatikament
  • jekk rm jissejjaħ minn xi ħadd ieħor script jew indirettament allura l-kmand tas-sistema 'rm' jintuża awtomatikament
  • juri l-messaġġi ta 'żball xierqa bħal dawk li jinqalgħu fi rm
1
ответ дан 20 December 2014 в 18:09

просто добавьте псевдоним в свой файл в домашнем каталоге .bash_alias или .bash_profile

alias rm='gio trash'
0
ответ дан 5 January 2021 в 23:58

Другие вопросы по тегам:

Похожие вопросы: