Odzyskiwanie plików tekstowych w terminalu za pomocą grep na Mac OS X Snow Leopard

3

Głupio usunąłem kod źródłowy z mojej maszyny Mac OS X Snow Leopard za pomocą rm -rf podczas robienia czegoś z buildoutem. Chcę spróbować odzyskać te pliki ponownie. Od tamtej pory nie dotknąłem systemu, aby spróbować znaleźć odpowiedź.

znalazłem to artykuł i wygląda na to, że metoda grep jest dobrym rozwiązaniem, ale podczas uruchamiania go na moim komputerze otrzymuję „Zajęty zasób” podczas próby uruchomienia go na dysku.

Używam tego polecenia:

sudo grep -a -B1000 -A1000 'video_output' /dev/disk0s2 > file.txt

Gdzie 'dev / disk0s2' jest tym, co pojawiło się po uruchomieniu df.

Dostaję to podczas biegania:

grep: / dev / disk0s2: Zasób zajęty

Nie jestem ekspertem w tej dziedzinie, staram się jak najlepiej. Czy ktoś może mi dalej pomóc? Jestem bliski utraty dwóch dni pracy z kodem źródłowym!

Dziękuję Ci

littlejim84
źródło

Odpowiedzi:

1

Spróbuj tego z Ubuntu LiveCD ( tutaj ) lub GPartEd boot CD ( tutaj ) lub coś podobnego, gdzie można uruchomić system z dysku CD, a nie partycji dysku twardego (zakładając, że masz inny komputer, na którym możesz pobrać i nagrać jeden z nich). Nawet jeśli nie rozumieją systemu plików HFS +, będą mogli go odczytać w formacie surowym.

To będzie najbezpieczniejszy sposób. Po raz pierwszy system operacyjny nie zablokuje dysku i nie będziesz narażony na ryzyko, że plik wymiany lub pliki tymczasowe zastąpią cenne wolne bloki.

Nicholaz
źródło
2
Spróbuj uruchomić komputer za pomocą płyty DVD z systemem Mac OS X.
Studer
1

Po uruchomieniu na innym urządzeniu musisz pamiętać, że jeśli robisz grepping dla nazwy pliku, być może nie dostajesz tego, czego chcesz, ponieważ nazwa pliku nie znajduje się w samym pliku - chyba że umieścisz go w komentarzach lub coś.

Będziesz musiał grep, aby znaleźć frazę, o której wiesz, że znajduje się w pliku.

jch
źródło
0

Będziesz musiał grep disk zamiast tego disk slice. Używając mojego komputera jako przykładu,

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Sandisk 240G            239.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

disk0 to cały dysk i disk0s2 to partycja, na której usunąłem plik. Grep nie działa na wycinku dysku

$ sudo grep --binary-files=text --context=10 '192.168.1.196' /dev/disk0s2 > recovered.txt
Password:
grep: /dev/disk0s2: Resource busy

Ale działa na samym dysku

$ sudo grep --binary-files=text --context=10 '192.168.1.196' /dev/disk0 > recovered.txt

Uwaga

grep „Nie działa surowe dyski w OSX - i zawiesza OSX. Kiedy uruchomiłem powyższe polecenie, Activity Monitor przedstawia grep szybkie czytanie danych. Po przeczytaniu około 3 GB OSX zawiesił się i musiałem zrestartować komputer.

hanxue
źródło