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.