Po pierwsze: przestań teraz używać tego napędu . Można go zamontować tylko do odczytu, pamiętaj tylko, aby nie pisać. Tak, usunąłeś zdjęcia. Oni mogą być odzyskane, ale tym bardziej zachować przy użyciu tego dysku, tym mniejsze masz szanse na odzyskanie czegokolwiek.
Twój ran polecenia mv pic1.jpg pictures
, mv pic2.jpg pictures
itp Każde wywołanie mv
zastąpienie pliku obecnie nazwany pictures
przez inny obraz.
Przeniesienie pliku (w tym samym systemie plików) oznacza odłączenie go od katalogu, który go zawiera i dołączenie go do katalogu docelowego pod nową nazwą. Tak więc żadne dane pliku nie zostały zmodyfikowane ani usunięte przez to polecenie, tylko wpisy katalogu dla obrazów, które zniknęły.
Możesz uruchomić narzędzie, które przeszukuje wolne miejsce w systemie plików i szuka rzeczy, które wyglądają jak JPEG. Na szczęście każdy plik jpeg zaczyna się od rozpoznawalnego nagłówka. Narzędzia, które szukają usuniętych treści, nazywane są narzędziami do rzeźbienia . Istnieje kilka w Ubuntu, włączając recoverjpeg , naczelne , TestDisk ... Jeśli zdjęcia są na osobnej partycji głównej lub na zewnętrznym dysku, zainstalować jedną lub więcej z tych pakietów i skierować je na partycję z usuniętych zdjęć.
Jeśli zdjęcia znajdują się na dysku systemowym, musisz natychmiast przestać korzystać z systemu. Użyj innego komputera, aby pobrać Live CD lub USB i uruchomić z tego komputera. Każda z żywych płyt CD, które zawierają dysk testowy, powinna pasować do rachunku, ale niektóre są łatwiejsze w użyciu niż inne. System Rescue CD to dobry systemowy system ratunkowy CD. Ubuntu Rescue Remix może być bardziej znany użytkownikowi Ubuntu.
W celu skorzystania z nich w przyszłości, przyzwyczaj się do używania, mv -i
chyba że chcesz zastąpić pliki. Być może masz już alias mv
, ale uruchamia się on tylko wtedy, gdy piszesz mv
bezpośrednio w wierszu poleceń, a nie wtedy, gdy mv
jest wywoływany przez skrypt lub find
polecenie.
$ : >pictures
$ mv -i foo.jpg pictures
mv: overwrite `pictures'?
Ponadto, jeśli wstawisz /
po nazwie, która ma być nazwą katalogu, otrzymasz błąd, jeśli katalog nie istnieje lub jeśli istnieje plik o tej nazwie, który nie jest katalogiem.
$ : >pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
$ rm pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
Aby uniknąć pułapek find
, możesz zamiast tego użyć rekurencyjnej funkcji przechodzenia przez katalog bash. Musisz go najpierw włączyć poleceniem shopt -s globstar
(możesz dodać ten wiersz do swojego ~/.bashrc
. Następnie:
mv **/*.jpg pictures/
(Zauważ, że w bash **/
również przegląda dowiązania symboliczne do katalogów i nie ma sposobu, aby to wyłączyć. Jeśli chcesz rekurencyjnego przejścia, które nie przegląda dowiązań symbolicznych do katalogów, użyj zsh lub find.)