Cum să recuperați un fișier șters în Linux


Ți s-a întâmplat vreodată asta? Ați realizat că ați șters din greșeală un fișier – fie prin tasta Del, fie folosind rm în linia de comandă.

În primul caz, puteți oricând să mergeți la Coșul de gunoi, să căutați fișierul și să îl restaurați în locația inițială. Dar ce rămâne cu al doilea caz? După cum sunt sigur că probabil știți, linia de comandă Linux nu trimite fișiere șterse nicăieri – le ELIMINĂ. Vagabond. S-au dus.

În acest articol, vă vom împărtăși un sfat care poate fi util pentru a preveni acest lucru și un instrument pe care îl puteți lua în considerare dacă în orice moment sunteți suficient de neglijent pentru a o face oricum.

Creați un alias pentru „rm -i”

Comutatorul -i, atunci când este utilizat cu rm (și, de asemenea, cu alte instrumente de manipulare a fișierelor, cum ar fi cp sau mv) face să apară o solicitare înainte de a elimina un fișier.

Același lucru este valabil și pentru copierea, mutarea sau redenumirea unui fișier într-o locație în care există deja unul cu același nume.

Această solicitare vă oferă o a doua șansă de a lua în considerare dacă doriți cu adevărat să eliminați fișierul - dacă confirmați solicitarea, acesta va dispărea. În acest caz, îmi pare rău, dar acest sfat nu te va proteja de propria ta neglijență.

Pentru a înlocui rm cu un alias pentru rm -i, procedați:

alias rm='rm -i'

Comanda alias va confirma că rm este acum alias:

Totuși, acest lucru va dura numai în timpul sesiunii curente de utilizator în shell-ul curent. Pentru a face schimbarea permanentă, va trebui să o salvați în ~/.bashrc (unele distribuții pot folosi în schimb ~/.profile), așa cum se arată mai jos:

Pentru ca modificările în ~/.bashrc (sau ~/.profile) să aibă efect imediat, obțineți fișierul din shell-ul curent:

. ~/.bashrc

Instrumentul criminalistică – În primul rând

Sperăm că veți fi atent cu fișierele și va trebui să utilizați acest instrument doar în timp ce recuperați un fișier pierdut de pe un disc extern sau o unitate USB.

Cu toate acestea, dacă vă dați seama că ați eliminat accidental un fișier din sistemul dvs. și veți intra în panică - nu faceți acest lucru. Să aruncăm o privire la primul, un instrument criminalistic care a fost conceput pentru acest tip de scenarii.

Pentru a instala cel mai important în CentOS/RHEL 7, mai întâi va trebui să activați Repoforge:

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
# yum install foremost

În timp ce în Debian și derivate, doar faceți

# aptitude install foremost

Odată ce instalarea s-a încheiat, să continuăm cu un test simplu. Vom începe prin a elimina un fișier imagine numit nosdos.jpg din directorul /boot/images:

# cd images
# rm nosdos.jpg

Pentru a-l recupera, utilizați în primul rând după cum urmează (va trebui să identificați mai întâi partiția de bază – /dev/sda1 este locul în care se află /boot în acest caz):

# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

unde /home/gacanepa/rescued este un director pe un disc separat – rețineți că recuperarea fișierelor de pe aceeași unitate în care au fost localizate cele eliminate nu este o mișcare înțeleaptă.

Dacă, în timpul recuperării, ocupați aceleași sectoare de disc în care au fost odinioară fișierele eliminate, este posibil să nu fie posibil să recuperați nimic. În plus, este esențial să vă opriți toate activitățile înainte de a efectua recuperarea.

După ce primul s-a terminat de execuție, fișierul recuperat (dacă recuperarea a fost posibilă) va fi găsit în directorul /home/gacanepa/rescued/jpg.

rezumat

În acest articol am explicat cum să evitați eliminarea accidentală a unui fișier și cum să încercați să-l recuperați dacă se întâmplă un astfel de eveniment nedorit. Fiți avertizat, totuși, că, în primul rând, rularea poate dura destul de mult, în funcție de dimensiunea partiției.

Ca întotdeauna, nu ezitați să ne anunțați dacă aveți întrebări sau comentarii. Simțiți-vă liber să ne trimiteți o notă folosind formularul de mai jos.