Jak całkowicie pobrać i skopiować zbyt długi wynik w terminalu?


8

W terminalu polecenie ma zbyt długi wynik. Ale kiedy przewijam do tyłu, widzę, że jest obcięty i wyświetlana jest tylko ostatnia część. W Gnome-Terminal i Konsole mam ten problem. W Xterm nie ma takiego problemu, ale nie mogę skopiować wyników w Xterm.

Jak mogę uzyskać pełny wynik?


Odpowiedzi:


5

Wiem, że na terminalu xfce4 jest opcja zwiększenia liczby wyświetlanych linii:

wprowadź opis zdjęcia tutaj

Dla ubuntu Terminal wprowadź opis zdjęcia tutaj

Oprócz tego jest to, co powiedział @ Zelda64fan.


Rura +1 i teenie są optymalne, ponieważ nie działają w kilku przypadkach, np. WeźHROOT 3NVIORTNM3NT
22lk94k943 tylko

9

Możesz wysłać dane wyjściowe do pliku: command > file.txt(gdzie commandjest polecenie, które chcesz uruchomić i file.txtto plik, w którym chcesz go zapisać), a następnie wyświetlić je za pomocą gedit file.txt.


8

Użyj xclip

cat long.output | xclip -sel clip

Jeśli nie jest zainstalowany, możesz to zrobić

sudo apt-get install xclip

Ten jest moim ulubionym terminalem GUI. Z TTY to nie zadziała, niestety pomoże tylko przekierowanie do pliku
Sergiy Kolodyazhnyy

5

Jeśli nie potrzebujesz całego wyjścia, można rura go przez mniej: command | less. Pozwoliłoby to również uniknąć kłopotów z usunięciem pliku po przejrzeniu danych wyjściowych.


lesswyjście jest dość trudne do skopiowania.
Sparhawk

2

W Xterm automatyczne kopiowanie po wybraniu powinno być ustawieniem domyślnym. Spróbuj trzykrotnie kliknąć, a następnie wklej środkowy przycisk myszy (lub emulowany trzeci przycisk).

To samo powinno działać z innymi terminalami, ale musisz ręcznie skopiować i wkleić.

Jest na to wiele sposobów. scriptW niektórych przypadkach lubię używać . Wpisz „skrypt” w wierszu polecenia, aby go uruchomić przed uruchomieniem polecenia z wiersza polecenia, a następnie naciśnij Ctrl-D, aby zatrzymać. Jeśli nie określisz nazwy przechwytywania, domyślnym jest „maszynopis”. Wszystko wydrukowane na ekranie powinno zostać przechwycone w pliku.


2

Zapisz dane wyjściowe konsoli w pliku:

  1. tee Komenda

tee command - odczytuje ze standardowego wejścia i zapisuje na standardowe wyjście i pliki.

Automatycznie tworzy plik i zapisuje wszystkie dane wyjściowe cmd ps -axw pliku o nazwie jak processes_infow tym samym folderze, z którego uruchomiono cmd.

user@admin:~$ ps -ax | tee processes_info
  1. script Komenda

polecenie skryptowe - twórz maszynopis sesji terminalowej.

user@admin:~$ script my_console_output.txt

Spowoduje to utworzenie pliku o nazwie my_console_output.txti otworzy podpowłokę i zarejestruje wszystkie informacje za pośrednictwem tej sesji. Następnie skrypt zacznie działać i cokolwiek wyjdzie z konsoli, zostanie zapisane w pliku my_console_output.txt; chyba że i dopóki skrypt nie zakończy się, gdy rozwidlona powłoka wyjdzie. (np. kiedy użytkownik pisze exitlub kiedy CTRLDjest wpisywany).

user@admin:~$ script -c "ps ax" processes_info.txt
  • uruchamia skrypt;
  • tworzy plik processes_info.txt;
  • przechowuje dane wyjściowe konsoli w pliku;
  • zakończ (zamknij) skrypt.

    Inny przykład:

    script -c 'echo "Hello, World!"' hello.txt
    

script -c "rails runner -e development lib/scripts/my_script.rb" report.txtpomógł mi łatwo przechwycić bardzo długi wynik skryptu programu runner do pliku. Próbowałem użyć przekierowania do pliku, ale został on napisany dopiero na końcu skryptu. To mi nie pomogło, ponieważ miałem kilka interaktywnych poleceń w moim skrypcie. Potem użyłem tylko scriptna sobie, a następnie uruchomiłem rails runnersesję skryptową, ale nie napisałem wszystkiego. Potem znalazłem to script -c "runner command here" output_filei zapisałem wszystkie dane wyjściowe zgodnie z oczekiwaniami. To było na Ubuntu 14.04 LTS
Jignesh Gohel
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.