Jak odzyskać usunięte pliki w systemie Linux za pomocą dysku testowego

Opublikowany: 2022-01-29
Ilustracja okna terminala na komputerze z systemem Linux.
Fatmawati Achmad Zaenuri/Shutterstock

Czy kiedykolwiek usunąłeś plik i od razu tego żałowałeś? Potrzebujesz go z powrotem i to szybko! Ale co, jeśli plik jest tak nowy, że nie utworzono jeszcze jego kopii zapasowej? Na szczęście można coś z tym zrobić.

rm: Skrót od wyrzutów sumienia?

Używanie polecenia rm jest zbyt łatwe i wpatrujesz się w okno terminala z pogłębiającym się poczuciem żalu. Jeden mały błąd z symbolami wieloznacznymi i możesz wymazać o wiele więcej, niż zamierzałeś.

Domyślny system plików Linux, ext4 używa i-węzłów do przechowywania danych o każdym pliku i tablicy i-węzłów do śledzenia i-węzłów. I-węzeł zawiera metadane dotyczące pliku, takie jak jego nazwa, kto jest jego właścicielem, jakie są uprawnienia i tak dalej.

Zawiera również punkty wejścia do twardych łączy, które wskazują na plik. Każdy plik ma co najmniej jedno łącze stałe. Za każdym razem, gdy tworzysz nowe twarde łącze, liczba twardych łączy zwiększa się o jeden. Za każdym razem, gdy usuwasz dowiązanie twarde, liczba dowiązań twardych w i-węźle zmniejsza się o jeden.

Kiedy usuniesz plik, którego i-węzeł oznaczył jako nieużywany (i gotowy do ponownego użycia), ostatnie dowiązanie twarde jest usuwane. W takim przypadku plik nie pojawi się na listach katalogów i nie będzie można go używać ani uzyskiwać do niego dostępu.

Reklama

Jednak dane składające się na zawartość pliku nadal znajdują się na dysku twardym. Gdybyś jednak mógł załatać i-węzeł, aby zawierał poprawne informacje, plik zostałby przywrócony. Oczywiście działałoby to tylko wtedy, gdyby dane tworzące plik na dysku twardym pozostały nienaruszone i nie zostały nadpisane.

Alternatywnie możesz utworzyć nowy i-węzeł, skopiować zachowane dane ze starego i-węzła, a następnie zastąpić brakujące bity.

To są nietrywialne czynności. Zwykle, gdy skasujesz plik przez pomyłkę, jest to najgorszy możliwy moment. Zawsze wtedy, gdy potrzebujesz tego pliku i potrzebujesz go teraz. Nie masz czasu na brudzenie się z edytorami sektorów i innymi narzędziami. Dodatkowo, jeśli jest to plik, który właśnie utworzyłeś, prawdopodobnie nie ma jeszcze kopii zapasowej, więc to też Ci nie pomoże.

Tutaj wkracza testdisk . Jest łatwy w użyciu i nie wymaga szczegółowej, niskopoziomowej wiedzy o systemie plików. Zobaczmy, jak z niego korzystać!

POWIĄZANE: Wszystko, co kiedykolwiek chciałeś wiedzieć o i-węzłach w systemie Linux

Instalowanie dysku testowego

Aby zainstalować testdisk na Ubuntu, użyj tego polecenia:

 sudo apt-get install testdisk 

W Fedorze musisz wpisać:

 sudo dnf zainstaluj testdisk 

Na Manjaro musisz użyć pacman :

 sudo pacman -Sy testdisk 

Korzystanie z dysku testowego

Chociaż działa w oknie terminala, testdisk ma podstawowy interfejs. Użyj klawiszy strzałek do nawigacji i Enter, aby dokonać wyboru. Aby zachować porządek, najlepiej utworzyć katalog dla przywracanych plików.

Wpisujemy następujące polecenie, aby utworzyć katalog o nazwie „przywrócony” dla naszych przywróconych plików:

 przywrócono mkdir 

Reklama

Wpisujemy następujące polecenie, aby przejść do nowego katalogu i stamtąd uruchomić testdisk :

 płyta CD przywrócona/ 

Musimy użyć sudo z testdisk , więc wpisujemy:

 dysk testowy sudo 

Pierwsze pytanie, jakie zadaje testdisk , dotyczy logowania. Może utworzyć nowy plik dziennika, użyć istniejącego lub w ogóle nic nie rejestrować. Nie ma znaczenia, którą opcję wybierzesz; nie wpłynie to na sposób działania testdisk .

Możesz po prostu nacisnąć Enter, aby zaakceptować podświetloną opcję i utworzyć nowy plik dziennika. Zostanie on utworzony w katalogu, z którego uruchomiłeś testdisk . Po dokonaniu wyboru testdisk zapyta, na którym dysku twardym znajduje się system plików, na którym chcesz pracować.

Zawiera listę dysków twardych, które może znaleźć, a także pliki „/dev/loop” squashfs . Będzie jeden z nich dla każdej aplikacji, którą zainstalowałeś od snap . Są tylko do odczytu, więc nie powinieneś był usuwać niczego z tych systemów plików.

W tym komputerze testowym jest tylko jeden fizyczny dysk twardy, więc użyliśmy strzałki w dół, aby podświetlić opcję „/dev/sda”. Następnie użyliśmy prawej strzałki, aby wybrać „Kontynuuj”, a następnie nacisnęliśmy Enter.

Reklama

testdisk musi również znać typ partycji. Na dole przedstawia menu opcji wraz z typem partycji, która jest automatycznie wykrywana.

Jeśli nie masz dobrego powodu, aby tego nie robić, zaznacz typ partycji, która jest automatycznie wykrywana, a następnie naciśnij klawisz Enter.

W wyświetlonym menu funkcji podświetl „Zaawansowane”, a następnie naciśnij Enter.

Pojawi się menu wyboru stref.

Pliki, których szukamy, znajdują się na partycji systemu plików Linux. Na naszym dysku twardym mamy tylko jedną partycję Linuksa, ale możesz mieć więcej.

Wybierz partycję, na której znajdowały się twoje pliki, użyj klawiszy strzałek w lewo i w prawo, aby wybrać "Lista", a następnie naciśnij Enter. Pojawi się menu wyboru pliku.

Użyj strzałek w górę i w dół lub klawiszy PgUp i PgDn, aby poruszać się po liście plików i katalogów. Naciśnij strzałkę w prawo lub Enter, aby wejść do katalogu, a strzałkę w lewo lub Esc, aby wyjść z katalogu.

Reklama

Szukamy plików, których właścicielem był dave . Pliki wszystkich kont użytkowników znajdują się w katalogu „Home”. Tak więc podświetlamy katalog "Home", a następnie możemy nacisnąć strzałkę w prawo lub Enter, aby wejść do tego katalogu.

Wszystkie konta użytkowników są następnie dla nas wymienione. Podświetlamy dave , a następnie naciskamy strzałkę w prawo lub Enter, aby wejść do tego katalogu.

Możemy teraz zobaczyć pliki należące do konta dave . Wpisy zaznaczone na czerwono zostały usunięte. Przeszukujemy pliki i katalogi, aż zlokalizujemy pliki, które chcemy odzyskać.

Aby odzyskać plik, po prostu go podświetl, a następnie naciśnij c (małe litery).

Wyświetlacz zmieni się i poinformuje o konieczności wybrania miejsca docelowego dla odzyskanego pliku. Ponieważ utworzyliśmy katalog o nazwie „Przywrócone” i uruchomiliśmy z niego testdisk , pierwszy wpis na liście (.) to ten katalog. Aby odzyskać ten usunięty plik do tego katalogu, wciskamy C (wielkie litery).

Po wykonaniu tej czynności powrócisz do ekranu wyboru plików. Jeśli chcesz odzyskać więcej plików, po prostu powtórz proces. Wyróżnij usunięty plik, naciśnij c (małe litery), aby go skopiować, a następnie naciśnij C (wielkie litery), aby go odzyskać.

Praca z przywróconymi plikami

Po przywróceniu pliku drzewo katalogów jest rekonstruowane do jego pierwotnej lokalizacji, co jest przydatne, ponieważ przypomina, gdzie na dysku twardym znajdował się oryginalny plik. Oznacza to, że jeśli chcesz go skopiować, wiesz, gdzie go umieścić.

Reklama

Jeśli odzyskasz kilka plików z różnych lokalizacji systemu plików, które mają tę samą nazwę, i tak będą musiały być przechowywane osobno.

Możesz wpisać następujące polecenie, aby zobaczyć zawartość katalogu „Przywrócone”:

 ls

Jeśli poprosiłeś testdisk o utworzenie pliku dziennika, będzie on znajdował się w katalogu „Przywrócone”. Ponieważ nasze odzyskane pliki znajdowały się w „/home/dave”, zostały one skopiowane do naszego katalogu „Przywrócone”, zagnieżdżone w katalogach o tej samej nazwie.

Możemy przejść do skopiowanego katalogu „dave” za pomocą cd . Upewnij się, że ścieżka nie zawiera wiodącego ukośnika ( / ) — chcesz zmienić go na lokalny „home”, a nie systemowy „/home”.

Wpisujemy:

 cd home/dave

Odzyskane pliki znajdują się w tym katalogu, więc wpisujemy:

 ls 

Reklama

Przyjrzyjmy się ponownie odzyskanym plikom, korzystając z opcji -l (długa lista):

ls-l

Ponieważ użyliśmy sudo do uruchomienia testdisk , odzyskane pliki zostały przywrócone z „root” jako właścicielem. Możemy zmienić właściciela z powrotem na „dave” za pomocą chown :

 sudo chown dave.dave * 

Wpisujemy następujące polecenie, aby upewnić się, że przywrócono prawidłowe prawo własności:

 ls-l 

testdisk: Kod dla ulgi

To uczucie ulgi po odzyskaniu ważnego pliku, który jeszcze przed chwilą został bezpowrotnie utracony, jest czymś, co zawsze docenisz.

Dlatego testdisk jest tak przydatnym narzędziem. Po przejściu przez menu i rozpoczęciu przywracania plików łatwo jest wpaść w rytm podświetlenia, c, C, powtórz.

POWIĄZANE: Najlepsze laptopy z systemem Linux dla programistów i entuzjastów