Nie ma to nic wspólnego z twoją powłoką ( bash
), nie jest funkcją emulatora terminala, którego używasz. Jest on przechowywany w „przewijanym buforze” terminala. Nie byłem w stanie znaleźć żadnego jasnego wyjaśnienia, gdzie dokładnie jest to przechowywane, ale osobiste doświadczenie pokazało mi, że jest gdzieś przechowywane /tmp
.
Jak sugeruje odpowiedź na powyższe pytanie, najprawdopodobniej jest przechowywany w pliku bezimiennym. Aby zobaczyć, co mam na myśli, otwórz nowy plik za pomocą edytora tekstu:
gedit newfile
Napisz wiersz pliku do pliku i zapisz go. Teraz, gdy ten plik jest nadal otwarty, otwórz terminal i usuń go:
rm newfile
Ponieważ plik jest nadal otwarty gedit
, możesz kontynuować zapisywanie w nim. Możesz nawet zapisać w niej kilka gigabajtów danych, mimo że plik został usunięty. Jest tak, ponieważ usunięcie pliku po prostu usuwa link wskazujący jego i- węzeł . Jeśli jego deskryptor pliku jest utrzymywany przez inny program, można do niego zapisać dane, co świadczy o tym, że w systemie plików nie ma już rzeczywistego łącza (pliku) odpowiadającego deskryptorowi pliku.
Wszystko to oznacza, że historia twojego terminala jest prawdopodobnie zapisywana za pomocą takiej sztuczki, gdzieś w usuniętym pliku w /tmp
. To, czego prawdopodobnie naprawdę chcesz, to po prostu zwiększyć rozmiar bufora przewijania w emulatorze terminali, abyś mógł przewinąć w górę i zobaczyć go. Szczegóły tego, jak to zrobić, zależą od używanego emulatora terminala. Większość z nich ma przełącznik wiersza poleceń, który pozwala ci to zrobić, a wielu ma również GUI sposób ustawienia. Na przykład w gnome-terminal
(domyślnym w Ubuntu) jest Edycja -> Preferencje -> Profile --- kliknij swój profil -> Edytuj -> Przewijanie -> Ogranicz przewijanie do NNN: