Wyszukiwanie w witrynie

Jak odzyskać usunięty plik w systemie Linux


Czy kiedykolwiek ci się to przydarzyło? Zorientowałeś się, że przez pomyłkę usunąłeś plik – albo za pomocą klawisza Del, albo za pomocą rm w wierszu poleceń.

W pierwszym przypadku zawsze możesz przejść do Kosza, wyszukać plik i przywrócić go do pierwotnej lokalizacji. Ale co z drugim przypadkiem? Jak jestem pewien, że prawdopodobnie wiesz, wiersz poleceń Linuksa nigdzie nie wysyła usuniętych plików – USUWA je. Tyłek. Odeszli.

Sugerowana lektura: Jak odzyskać usunięte pliki/katalogi za pomocą narzędzia Skalpel

W tym artykule podzielimy się wskazówką, która może być pomocna, aby temu zapobiec, oraz narzędziem, którego możesz użyć, jeśli w dowolnym momencie będziesz na tyle nieostrożny, aby to zrobić.

Utwórz alias do „rm -i”

Przełącznik -i używany z rm (a także innymi narzędziami do manipulacji plikami, takimi jak cp lub mv) powoduje wyświetlenie monitu przed usunięciem pliku.

To samo dotyczy kopiowania, przenoszenia lub zmiany nazwy pliku w lokalizacji, w której istnieje już plik o tej samej nazwie.

Ten monit daje ci drugą szansę na rozważenie, czy rzeczywiście chcesz usunąć plik – jeśli potwierdzisz monit, zniknie on. W takim razie przykro mi, ale ta wskazówka nie uchroni Cię przed własną nieostrożnością.

Aby zastąpić rm aliasem 'rm -i', wykonaj:

alias rm='rm -i'

Polecenie alias potwierdzi, że rm ma teraz alias:

Będzie to jednak trwało tylko podczas bieżącej sesji użytkownika w bieżącej powłoce. Aby zmiana była trwała, musisz zapisać ją w pliku ~/.bashrc (niektóre dystrybucje mogą zamiast tego używać ~/.profile), jak pokazano poniżej:

Aby zmiany w ~/.bashrc (lub ~/.profile) zaczęły obowiązywać natychmiast, pobierz plik z bieżącej powłoki:

. ~/.bashrc

Narzędzie kryminalistyczne – przede wszystkim

Mamy nadzieję, że będziesz ostrożny ze swoimi plikami i będziesz musiał korzystać z tego narzędzia tylko podczas odzyskiwania utraconego pliku z dysku zewnętrznego lub napędu USB.

Jeśli jednak zorientujesz się, że przypadkowo usunąłeś plik ze swojego systemu i wpadniesz w panikę – nie rób tego. Przyjrzyjmy się przede wszystkim narzędziu kryminalistycznemu, które zostało zaprojektowane z myślą o tego rodzaju scenariuszach.

Aby zainstalować przede wszystkim w CentOS/RHEL 7, musisz najpierw włączyć Repoforge:

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

Podczas gdy w Debianie i jego pochodnych, po prostu to zrób

aptitude install foremost

Po zakończeniu instalacji przejdźmy do prostego testu. Zaczniemy od usunięcia pliku obrazu o nazwie nosdos.jpg z katalogu /boot/images:

cd images
rm nosdos.jpg

Aby go odzyskać, użyj przede wszystkim w następujący sposób (musisz najpierw zidentyfikować podstawową partycję – w tym przypadku /dev/sda1 to miejsce, w którym znajduje się /boot):

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

gdzie /home/gacanepa/rescued to katalog na osobnym dysku – pamiętaj, że odzyskiwanie plików na tym samym dysku, na którym znajdowały się usunięte, nie jest mądrym posunięciem.

Jeśli podczas odzyskiwania zajmiesz te same sektory dysku, w których znajdowały się usunięte pliki, odzyskanie czegokolwiek może nie być możliwe. Ponadto przed rozpoczęciem odzyskiwania należy przerwać wszystkie czynności.

Po zakończeniu wykonywania, odzyskany plik (jeśli odzyskanie było możliwe) zostanie znaleziony w katalogu /home/gacanepa/rescued/jpg.

Streszczenie

W tym artykule wyjaśniliśmy, jak uniknąć przypadkowego usunięcia pliku i jak spróbować go odzyskać, jeśli nastąpi takie niepożądane zdarzenie. Ostrzegamy jednak, że uruchomienie przede wszystkim może zająć sporo czasu, w zależności od rozmiaru partycji.

Jak zawsze, nie wahaj się dać nam znać, jeśli masz pytania lub uwagi. Zachęcamy do przesłania nam wiadomości za pomocą poniższego formularza.