Sådan gendannes en slettet fil i Linux


Er dette nogensinde sket med dig? Du indså, at du fejlagtigt havde slettet en fil - enten gennem Del-tasten eller ved hjælp af rm i kommandolinjen.

I det første tilfælde kan du altid gå til papirkurven, søge efter filen og gendanne den til dens oprindelige placering. Men hvad med den anden sag? Som jeg er sikker på, at du sikkert ved, sender Linux-kommandolinjen ikke fjernede filer hvor som helst - det FJERNER dem. Vagabond. De er væk.

I denne artikel deler vi et tip, der kan være nyttigt for at forhindre, at dette sker for dig, og et værktøj, som du kan overveje at bruge, hvis du på et tidspunkt er uforsigtig nok til at gøre det alligevel.

Opret et alias til 'rm -i'

Omskifteren -i får, når den bruges sammen med rm (og også andre filmanipuleringsværktøjer såsom cp eller mv), en prompt, før den fjerner en fil.

Det samme gælder for kopiering, flytning eller omdøbning af en fil et sted, hvor der allerede findes en med samme navn.

Denne prompt giver dig en ny chance for at overveje, om du rent faktisk vil fjerne filen - hvis du bekræfter prompten, er den væk. I så fald er jeg ked af det, men dette tip vil ikke beskytte dig mod din egen skødesløshed.

For at erstatte rm med et alias til rm -i skal du gøre:

alias rm='rm -i'

Alias-kommandoen vil bekræfte, at rm nu er alias:

Dette varer dog kun under den aktuelle brugersession i den aktuelle shell. For at gøre ændringen permanent skal du gemme den til ~/.bashrc (nogle distributioner bruger muligvis ~/.profile ) som vist nedenfor:

For at ændringerne i ~/.bashrc (eller ~/.profile ) kan træde i kraft med det samme, skal du kilde filen fra den aktuelle shell:

. ~/.bashrc

Det retsmedicinske værktøj - Frem for alt

Forhåbentlig vil du være forsigtig med dine filer og kun behøver at bruge dette værktøj, mens du gendanner en mistet fil fra en ekstern disk eller et USB-drev.

Men hvis du er klar over, at du ved et uheld har fjernet en fil i dit system og kommer i panik - skal du ikke. Lad os først se på et retsmedicinsk værktøj, der er designet til denne slags scenarier.

For at installere først og fremmest i CentOS/RHEL 7 skal du først aktivere Repoforge:

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

Mens det i Debian og derivater bare gør

# aptitude install foremost

Når installationen er afsluttet, skal vi fortsætte med en simpel test. Vi begynder med at fjerne en billedfil med navnet nosdos.jpg fra/boot/images-biblioteket:

# cd images
# rm nosdos.jpg

For at gendanne det skal du først og fremmest bruge følgende (du skal først identificere den underliggende partition - /dev/sda1 er, hvor /boot ligger i dette tilfælde):

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

hvor/home/gacanepa/reddet er en mappe på en separat disk - husk at gendannelse af filer på det samme drev, hvor de fjernede blev placeret, ikke er et klogt skridt.

Hvis du under gendannelsen besætter de samme disksektorer, som de fjernede filer plejede at være, er det muligvis ikke muligt at gendanne noget. Derudover er det vigtigt at stoppe alle dine aktiviteter, før du udfører opsvinget.

Når først og fremmest er udført, vil den gendannede fil (hvis gendannelse var mulig) findes i/home/gacanepa/reddet/jpg-biblioteket.

I denne artikel har vi forklaret, hvordan man undgår at fjerne en fil ved et uheld, og hvordan man forsøger at gendanne den, hvis en sådan uønsket begivenhed sker. Vær dog advaret om, at det først og fremmest kan tage et stykke tid at køre afhængigt af partitionens størrelse.

Tøv ikke med at fortælle os, hvis du har spørgsmål eller kommentarer. Send os gerne en note ved hjælp af nedenstående formular.