Zaktualizuj swojego mężczyznę Pager dla lepszej pomocy w Linuxie

Poznaj kluczowe informacje dotyczące użycia komendy man w Linuxie, jej interakcji z pagerem oraz sposobów na dostosowanie doświadczenia przeglądania stron pomocy.
W duchu filozofii Linuxa, przeglądanie stron pomocy to praca zespołowa. Choć komenda man to ta, którą rzeczywiście wpisujesz, polega ona na osobnym narzędziu pager, aby wyświetlić swoje rzeczywiste treści. Dowiedz się, jakie są implikacje tego systemu i jak może poprawić Twoje doświadczenia w uzyskiwaniu pomocy.
Komenda man wyświetla strony dokumentacji dla różnych poleceń, wywołań systemowych, funkcji bibliotecznych i nie tylko. Pobiera te informacje z plików tekstowych w formacie stron man, zazwyczaj znajdujących się w katalogu takim jak /usr/share/man/.
Niektóre strony man są krótkie, ale większość jest dłuższa niż jedna strona tekstu. Aby wyświetlić te strony, program man używa narzędzia zwanego pagerem, czegoś, co jest powszechne w systemach Linux.
Pager to po prostu każde narzędzie, które wyświetla zawartość pliku tekstowego, z zapewnieniem wsparcia dla poruszania się po pliku linijka po linijce lub strona po stronie.
Bez pagera, man po prostu wyświetli całą zawartość strony man w terminalu naraz, pozostawiając Cię tylko z ostatnią stroną, której rozmiar będzie różny w zależności od wielkości okna terminala:
Pager jednak sprawi, że man wyświetli pomoc jedną stronę na raz:
Jedną z wielkich sił Linuxa jest jego tendencja do dostarczania małych, skoncentrowanych programów, które wykonują konkretne funkcje. Używając kilku programów razem, możesz osiągnąć skomplikowane zadania bez dedykowanego oprogramowania. Pager wciela tę filozofię w życie: program man koncentruje się na wyszukiwaniu stron pomocy i formatowaniu ich tekstu, podczas gdy pager skupia się na wyświetlaniu tekstu kawałek po kawałku.
W dziwnym przypadku, gdy nie chcesz żadnej funkcji paging, możesz użyć komendy cat jako pagera. Jeśli Twoja aplikacja terminala ma funkcję przewijania wstecz i strona man nie jest zbyt duża, będziesz mógł przewinąć całą zawartość używając myszy.
Programy Linux często oferują kilka sposobów na zmianę swojego zachowania, a man nie jest wyjątkiem. Podstawowe metody to:
- Opcje wiersza poleceń.
- Zmienne środowiskowe.
- Pliki konfiguracyjne.
Każda metoda ma swoje zalety, a to, którą wybierzesz, zazwyczaj będzie zależało od tego, czy chcesz, aby ustawienie było trwałe i jak szeroko ma być stosowane.
Pierwszym podejściem jest użycie opcji wiersza poleceń. Program man obsługuje opcję -P, aby zastąpić pager, którego miałby użyć:
man -P pager
Na przykład, aby sprawdzić stronę pomocy dla ls, używając pagera less:
man -P less ls
Aby znaleźć pomoc dla samego man, używając pagera more:
man -P more man
Powinieneś zauważyć, że pager może być dowolną ważną komendą, w tym swoimi argumentami, a nawet potokami:
man -P "grep operand | wc -l" ls
Dobrym zamiennikiem dla tego argumentu wiersza poleceń jest zmienna środowiskowa. Linux często używa zmiennych środowiskowych do konfiguracji, a dwie z nich są istotne w tym przypadku:
- PAGER to szeroko stosowane ustawienie, które powinno wskazywać preferowany pager do ogólnego użytku. Obsługujące programy będą przekazywać swoje wyjście przez komendę podaną w PAGER.
- MANPAGER zastępuje PAGER, konkretnie dla komendy man. Chociaż inne programy mogą korzystać z tej wartości, powinieneś zauważyć, że jedynie man rzeczywiście to robi. Pozwala to łatwo określić pager dla man, który różni się od Twojego ogólnego pagera.
Możesz ustawić zmienne środowiskowe dla wszystkich użytkowników w pliku /etc/environment lub dla konkretnego użytkownika w pliku takim jak ~/.bash_profile; to będzie się różnić w zależności od powłoki, której używasz.
Jak w przypadku każdej komendy, możesz ustawić zmienną środowiskową tylko na jedno wywołanie, prefiksując komendę:
MANPAGER=most man pwd
Na koniec, jeśli Twoja wersja man obsługuje plik konfiguracyjny, możesz go użyć, aby na stałe zmienić pager, który używa man.
Wersja man dołączona do macOS Tahoe odczytuje plik konfiguracyjny w /etc/man.conf. Ubuntu 24 dostarcza man 2.12.0, który nie odczytuje pliku konfiguracyjnego ogólnego przeznaczenia.
Jeśli masz plik man.conf, składnia do ustawienia pagera jest podobna do ustawienia zmiennej środowiskowej:
MANPAGER less -sWe wszystkich tych przypadkach, komenda w Twoim MANPAGER może być pełną ścieżką do wykonywalnego pliku lub jakimkolwiek słowem, które twoja powłoka może traktować jako komendę.
Aby uruchomić dokładną wersję znanego programu, użyj pełnej ścieżki bezwzględnej. W przeciwnym razie użyj prostego polecenia, a powłoka uruchomi odpowiedni program, funkcję lub wbudowaną komendę, która ma zastosowanie w bieżącym kontekście.
Wadą tego podejścia jest to, że — najwyraźniej — nadpisuje zmienne środowiskowe oraz argument wiersza poleceń -P. Gdy ta wartość zostanie ustawiona, jest egzekwowana dla każdego użytkownika systemu. Rzadko może to być dokładnie to, czego chcesz, ale zazwyczaj będziesz miał większą kontrolę, jeśli unikniesz używania pliku konfiguracyjnego man do ustawiania pagera.
Do tej pory możesz docenić wartość dobrego pagera, ale zastanawiasz się, które z nich są właściwie dobre — lub nawet, które pagera są dostępne. Jak na tak prostą aplikację, naprawdę istnieje zaskakująca liczba opcji, ale prawdopodobnie użyjesz tylko garści z nich.
Domyślnie man zazwyczaj używa pagera less, konkretnie tej komendy:
less -SrProgram less, który został wydany w 1984 roku, jest zamiennikiem starszego pagera o nazwie more, z 1978 roku. Chociaż polecenie more często jest nadal dostępne, może być to to samo, co less w twoim systemie, poprzez tworzenie dowiązań symbolicznych lub po prostu będąc bezpośrednią kopią. Na przykład, na macOS Tahoe, uruchomienie diff /usr/bin/less /usr/bin/more nie zgłasza różnic; oba pliki binarne są identyczne.
Głównym osiągnięciem, które wprowadził less, było przewijanie wstecz; uwierz lub nie, ale oryginalna wersja more mogła tylko przewijać do przodu. Używając less, możesz przewijać do przodu jedną stronę na raz, naciskając Spacja, a jedną linię naraz, naciskając Enter. Przewiń wstecz jedną stronę naciskając b i jedną linię naraz, naciskając y.
Możesz również przewijać o połowę strony naraz, co ułatwia śledzenie kontekstu. Użyj u, aby przewinąć wstecz (w górę) o pół strony, i d, aby przewinąć do przodu (w dół) o pół strony.
W przypadku stron man polecam poruszać się jedną linię lub pół strony na raz. Przewijanie w stronę stronę może być przydatne, jeśli chcesz nawigować szybko, ale może to utrudniać śledzenie tekstu, gdy czytasz stronę man od początku do końca.
most to stosunkowo nowy pager, który został wydany w 2005 roku. Napisany w C, jest szybki i ma mały plik wykonywalny (125K).
Wiele funkcji most może być przydatnych w pagerze, ale niewiele zmienia w przypadku stron man. Funkcje okienkowe pagera nie mogą być łatwo używane z man, a przewijanie poziome nie powinno być konieczne, ponieważ man już łamie długie linie.
Mówiąc jednak to, kilka funkcji może być przydatnych. Flaga -c czyni wyszukiwania rozróżniającymi wielkość liter, co może być przydatne do nawigacji w nagłówkach stron man, które są zawsze napisane wielkimi literami.
Argument "+/search" jest również bardzo przydatny. Użyj go, aby automatycznie przewinąć do pierwszego dopasowania, na przykład:
man -P 'most +/symbolic' ls
Kolejnym wartym uwagi pagerem jest ov. To nowsza wersja, wydana w 2020 roku, a program jest napisany w Go, z doskonałą dokumentacją. Projekt wyjaśnia również najlepsze użycie ov z różnymi innymi narzędziami, w tym man.
Ov obsługuje rozbudowany zestaw interaktywnych poleceń, które możesz wyświetlić w dowolnym momencie, naciskając h:
Jedną z moich ulubionych funkcji jest podstawowa, ale bardzo przydatna: G przełącza numery linii. Podczas gdy ov pokazuje bieżący numer linii w dolnym prawym rogu, łatwo można stracić orientację, a numery linii mogą pomóc w orientacji, szczególnie w długich stronach man.
Podobnie jak pager most, ov może wyświetlać więcej niż jeden plik jednocześnie. Ale w przeciwieństwie do most, może otwierać wiele plików z wiersza poleceń, więc istnieje możliwość przeczytania więcej niż jednej strony man jednocześnie, używając substytucji procesów:
ov <(man ls) <(man pwd)
W interfejsie ov możesz nacisnąć ], aby przejść do następnego pliku, i [ dla poprzedniego. Choć użycie tej funkcji jest nieco niewygodne, może być przydatne podczas porównywania stron man dwóch podobnych poleceń. Możesz nawet użyć jej do porównania stron man dwóch różnych wersji tego samego polecenia.
Gdzie ov naprawdę błyszczy, to jego konfigurowalność. Przykład tego.
Jedną z małych wygranych jest opcja --header, która ustawia liczbę stałych linii nagłówka:
man -P 'ov --header 1' man
To świetne rozwiązanie do przeglądania stron man, ponieważ pierwsza linia to ładny nagłówek, który przypomina, jaką stronę przeglądasz:
Opcja --header utrzymuje tę linię zawsze w widoku, więc nie zagubisz się, nawet przy otwartych kilku stronach man w różnych oknach terminala.
Inną przydatną opcją jest --section-delimiter. Opcja ov pozwala zdefiniować, gdzie występują sekcje w dokumentach, które przeglądasz. Możesz następnie nawigować między sekcjami używając Spacji, aby przesunąć się do przodu i ^, aby cofnąć się. Ponieważ strony man mają wyraźnie zdefiniowane sekcje, to jest bardzo użyteczne:
man -P 'ov --section-delimiter "^[^\s]"' man
Dzielnik tutaj to wyrażenie regularne, które pasuje do linii rozpoczynających się od znaku niebędącego spacją. Ponieważ sekcje nagłówków stron man są formatowane w ten sposób, a wszystkie inne treści są wcięte przez białe znaki, to sprytnie dzieli stronę man na sekcje, umożliwiając łatwą nawigację między nimi.
Jako bonus, otrzymasz również nagłówki sekcji, które pozostają na stałe w swojej bieżącej sekcji, niczym bardziej zaawansowana wersja opcji --header:
Twój pager to zazwyczaj proste narzędzie, więc można wybaczyć, że nie poświęcasz mu zbyt wiele uwagi. Jednak nowsze pagery, takie jak ov, mogą, przy niewielkiej inwestycji, uczynić czytanie stron pomocy szybszym i łatwiejszym zadaniem.
Jeśli ciekawią Cię artykuły podobne do Zaktualizuj swojego mężczyznę Pager dla lepszej pomocy w Linuxie, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.
Dodaj komentarz

Możesz być zainteresowany