Jak uniknąć przewijania w poziomie w „statusie systemu”?

12

W długiej linii systemctl statuskonieczne jest przewijanie w poziomie, co utrudnia skopiowanie wyniku. Czy istnieje sposób na uzyskanie przełamania linii na końcu terminala (tak jak nano -$by to zrobił)?

Nie szukam obejścia takiego jak przekierowanie wyjścia do pliku tymczasowego i wyświetlenie go w edytorze obsługującym dane wyjściowe.

Używam Ubuntu 15.10.

Karl Richter
źródło

Odpowiedzi:

21

Możesz użyć tej --no-pageropcji w połączeniu z --fullopcją, która zmusi linie do zawijania:

systemctl status --no-pager --full

wprowadź opis zdjęcia tutaj

Jeśli chcesz zachować funkcję stronicowania, możesz po prostu przesłać dane wyjściowe systemctl statusdo less/ morebezpośrednio, ponieważ podłączenie polecenia STDOUT do potoku wymusi wydrukowanie nieprzetworzonego wyniku:

systemctl status | less
kos
źródło
Zastanawiam się, dlaczego nie musiałeś dodawać --fulldo długiej linii w złamanym drzewie procesu. Muszę to zrobić. Dzięki.
Karl Richter
@KarlRichter Przepraszamy, awarie wokół dziś wieczorem. Właściwie musiałem dodać --full, ale wypisywanie danych do potoku ( head) nie wymagało tego, i w pewnym momencie skończyło się na tym, że pomyślałem, że nie byłoby to przydatne, gdy byłby używany w połączeniu z --no-pager. Naprawdę potrzebujesz --full.
Kos
Czy istnieje możliwość zmiany pagera na MNIEJ?
Franklin Yu,
3
tak, używasz zmiennych środowiskowych PAGER lub SYSTEMD_PAGER, aby ustawić pager. Jeśli wstawisz pusty ciąg do zmiennej środowiskowej, możesz to przełączyć, err, wyłączyć funkcję. Ponadto zobacz zmienną środowiskową SYSTEMD_LESS.
Hontvári Levente