it-swarm.dev

Lze obnovit soubory smazané pomocí rm?

Je možné obnovit soubory/adresáře, které jsou vymazány z terminálu pomocí rm a rm -r ?. Pokud je soubor odstraněn z grafického rozhraní, lze jej obnovit z koše, ale jak jej lze obnovit, pokud je odstraněn pomocí rm utility ?.

73
user3215

Za tímto účelem používám trash-cli package a následující alias v mém ~/.bashrc

alias rm=trash

A trash-cli balíček lze nainstalovat pomocí následujícího příkazu: Sudo apt-get install trash-cli.

Odstraněné soubory budou přesunuty do koše a můžete je zobrazit v koši nautilus.

K skutečnému rm se můžete vždy dostat jedním z následujících způsobů:

command rm something
'rm' something
\rm something

Existují také příkazy pro přístup do koše z terminálu, trash-list, restore-trash (nebo trash-restore), trash-empty instalovatelný z balíčku trash-cli (viz jejich manuálové stránky).

Poslední poznámka, není vhodné používat takový alias pro superuživatele, protože to může narušovat systémové operace.

67
enzotib

Odstraněním z terminálu se trvale odstraní - obnova je velmi obtížná a někdy nemožná.

Pokud je typ oddílu ext3 (zkontrolujte pomocí System->Administration->Disk Utility), pak se podívejte na ext3undel .

Pokud není (pokud jste nainstalovali Ubuntu s výchozím nastavením ), zkuste program extundelete.

Neexistuje však žádná záruka, že něco získáte.

27
evgeny

Hledáte: extundelete - nástroj pro obnovení smazaných souborů z oddílu ext3/ext4

Chcete-li takový balíček najít, můžete vyzkoušet: apt-cache search undelete

Chcete-li použít nástroj, nainstalujte jej pomocí: Sudo apt-get install extundelete

Po instalaci vyvolejte man extundelete a pečlivě je prostudujte.

13
H.-Dirk Schmitt

Stejně jako alternativa, pokud přesně víte, jaký typ souboru to je ...

Sudo apt-get install foremost

Nyní otevřete /etc/foremost.conf a uvidíte dlouhý seznam komentovaných řádků. Pokud váš typ souboru existuje, zrušte řádek (můžete také odstranit irelevantní řádky).

Pokud váš typ souboru neexistuje, přidejte svůj vlastní řádek. Řekněme, že chci obnovit soubor .css a vím, že je kolem 40 kB. Mohl bych to přidat:

css     n       40000   Theme\sName:     Plugin\sFixes

Druhý sloupec odkazuje na velká a malá písmena, třetí sloupec odkazuje na horní limit velikosti, ve 4. sloupci je to, jak soubor začíná (nezapomeňte použít uniklé znaky) a poslední sloupec je to, jak soubor obvykle končí.

Použijte následující příkaz (disk odpovídajícím způsobem upravte. Mohl by se zkontrolovat pomocí příkazu df)

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

Dalším krokem bude vytvoření složky nazvané výstup a výpis všech získaných dat (v tomto případě) do složky. Odtud můžete pomocí diff nebo meld porovnat obnovené 'soubory' a zjistit, který je nejaktuálnější.

7
Reuben L.

Řečeno v nej abstraktnějších pojmech, kdykoli smažete soubor v grafickém rozhraní, soubor se „přesune“ do speciální „vyrovnávací paměti“, do adresáře s názvem trash. Můžete jej najít v adresáři home, ~/.local/share/Trash/. Soubory „smazané“ z tohoto adresáře budou skutečně smazány. Toto skutečné odstranění je to, co se stane, když v souboru použijete rm.

Obnovení smazaných souborů je velmi obtížné. Soubory v systému souborů jsou reprezentovány jako uzly na stromě B nebo podobně. Když je soubor smazán pomocí rm, strom je aktualizován, počet pevných odkazů je snížen, odpovídající položka v seznamu adresářů je odstraněna. Pokud vůbec měl váš soubor pevný odkaz, je naprosto bezpečný. Můžete udělat file / -samefile filename. Soubor si můžete prohledat, pokud si také pamatujete jeho číslo inode (to je téměř nemožné).

Jiným případem je situace, kdy žádná z výše uvedených možností není pravdivá. Kdykoli rm soubor, bude položka souboru z adresáře odstraněna, čímž se počet pevných odkazů sníží o jeden. A pokud počet pevných odkazů klesne na nulu, ukazatel na soubor na inodu je zrušen nebo označen jako smazaný. V obou případech se soubor „stále“ nachází na pevném disku. Soubor je ve skutečnosti vymazán z pevného disku pouze při následné instalaci. Obnova souborů v takovém čase je extrémně obtížná, zahrnuje procházení stromem systému souborů a inody představující skutečná umístění diskových bloků. Existuje oblíbený nástroj, o kterém jsem už slyšel, ale nikdy jsem ho nepoužíval, nazvaný extundelete. I když neexistuje žádná záruka, stojí za to vyzkoušet.

Jakmile soubory úspěšně obnovíte nebo ne, spěchejte, abyste pravidelně zálohovali. Na Ubuntu je to velmi jednoduché.

5
John Strood

Je nám líto, ale soubory smazané z příkazového řádku s „rm“ a „rm -f“ obcházejí „koše“, které máte na ploše Gnome.

Můžete se také zeptat, zda existují nějaké nástroje pro "obnovení" extfs, jako jsou nástroje pro FAT a NTFS. (Nevím o žádném, ale byl bych překvapen, kdyby neexistoval.)

2
Stéphane

použijte obslužný program "rm-trash", který zpracovává jejich uložení do koše pro pozdější načtení a podporuje všechny možnosti příkazu "rm".

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

"rm-trash" je

  • měl být použit místo rm
  • zpracovává všechny možnosti, které rm může mít
  • zpracovává kolize názvů souborů se soubory již v koši
  • automaticky řeší některé problémy s oprávněními
  • pokud je rm volán z jakéhokoli jiného skriptu nebo nepřímo, pak se systémový příkaz „rm“ použije automaticky
  • zobrazuje příslušné chybové zprávy jako ty, které se objevují v rm
1
Natesh bhat

stačí přidat alias do svého souboru v domácí folde .bash_alias nebo .bash_profile

alias rm='gio trash'
0
m3asmi