Ostatnie dwie godziny spędziłem na uruchomieniu dd
polecenia (lub zobrazowania dowolnego podobnego scenariusza „trudnego do ponownego wykonania”) z płyty CD na żywo bez GUI; wszystko, co mam, to mój sprawdzony CTRL+ALT+F#
terminal Bash „multi-window” ( ).
Niestety, podczas polecenia dd
wyrzuciłem kilka nieprzyjemnych komunikatów o błędach i trochę więcej informacji, które chciałbym zachować. Mam podłączony dysk USB, do którego mogę zapisywać dane, ale jak mogę zapisać poprzednie wyjście jako plik tekstowy po uruchomieniu polecenia?
Gdyby to był emulator terminala w ładnym GUI, po prostu użyłbym myszy do zaznaczenia tekstu, skopiowania go i wklejenia do dokumentu. I gdybym wiedział, że polecenie spowodowałoby błędy, od razu wyrzuciłbym je do pliku, ale niestety dodatkowe dane wyjściowe były zaskoczeniem.
Jak zapisać dane wyjściowe tekstu z poprzedniego polecenia do pliku bez ponownego uruchamiania polecenia? Czy to w ogóle możliwe?
dd if=/dev/sda of=/backups/sda.img > result.txt
. Jeśli tak, problem polega na tym, że już uruchomiłemdd
polecenie . Za wszelką cenę chcę uniknąć ponownego uruchomienia polecenia, co w niektórych sytuacjach jest niemożliwe.service start gpm
.). Zmieść region, przytrzymując lewy przycisk myszy. Wpiszcat > outputfile
i kliknij prawy przycisk myszy, aby wkleić wybrany region.Odpowiedzi:
Jądro Linux powinno przechowywać dziennik ekranowy dla twojego vts w odpowiednim
/dev/vcsa*[ttynum]
urządzeniu.Właśnie dlatego następujące działania:
... które drukuje ...
Odpowiednie
/dev/vcsa[ttynum]
urządzenie zapisze zakodowaną wersję sformatowanego tekstu na ekranie, podczas gdy/dev/vcs[ttynum]
będzie to zwykły zrzut. Tevcsa[ttynum]
urządzenia będą kodować parę bajtów opisujących każdy char na ekranie i jego atrybuty, a także ciąg na czele każdej strony logicznej, która wskazuje odwołuje TTY za wiersze, kolumny liczyć.Jak wskazuje @kasperd, wcześniej się myliłem, zakładając, że
\a
BEL został zakodowany między każdą postacią, podczas gdy w rzeczywistości: Domyślna kombinacja kolorów pokrywa się z postacią dzwonka.Do swoich celów korzystanie z
/dev/vcs[ttynum]
jest prawdopodobnie najłatwiejsze. Otol
ook na różnice:... drukuje ...
...i...
... drukuje ...
źródło
vcsa
nie umieszcza tego samego znaku między wszystkimi postaciami. Daje ci parę bajtów mówiących, która postać jest na ekranie i jaki ma kolor. Domyślna kombinacja kolorów pokrywa się ze znakiem dzwonka.Przejdź do (/ zaloguj się) innego terminala i uruchom
sudo screendump N > screenoutput.txt
, gdzieN
jest numer żądanego terminala.Obawiam się, że nie ma zaległości. Jeśli te wirtualne konsole je posiadają, nigdy ich nie widziałem. Ale to wszystko, co możesz zobaczyć na tym terminalu.
źródło
/dev/vcsa*[1-9]*
- (to, jak sądzę, po to są uprawnienia administratora) . Sądzę, że konsole linux wspierały zaległości w większości serii 3. *. Nie jestem pewien, jak można go złapać (w przeciwieństwie do korzystania z/dev/vcsa*[1-9]*
urządzeń), ale może jest jakiś sposób./dev/vcs$i
i/dev/vcsa$i
. Daje to jednak czytelny wynik. ;-)screendump
nie rozumiem, nawet jeśli pozostanę w tej samej konsoli.