Man использует утилиту less для постраничного вывода текстовой информации. Соответственно, чтобы использовать возможности по удобному перемещению и поиску по тексту в man, стоит изучить возможности less.
Например, для начала поиска по man достаточно ввести символ / и далее строку поиска. После нажатия Enter начнётся поиск вперёд по тексту. Для поиска назад, нужно использовать не слеш, а символ ?.
Теперь немного магии. Допустим, вам надо найти в man описание ключа -L. Для этого вводим в поиск:
/^\s+-L/ - поиск вперёд
^ - начало строки
\s - пробельный символ
+ - повторитель, указывает, что предыдущий символ должен повторяться один или несколько раз
-L - то, что мы ищем.
То есть будет найдена строка, которая начинается с пробелов, а далее идут символы -L. Типовая разметка для описания ключей в man.
Ориентироваться в результатах поиска можно следующим образом:
- перейти к следующему совпадению клавиша (n);
- перейти к предыдущему совпадению клавиша (N);
- перейти в начало страницы клавиша (g);
- перейти в конец страницы клавиша (G).
Также less хранит историю поиска. Вводите / и листаете клавишами вверх, вниз. Таким образом можно выбрать предыдущий шаблон поиска. Более подробно man less, man man. Как там искать вы уже знаете 😁
В конце страниц для утилит командной строки, обычно есть коды возврата и прочая полезная информация. Кстати утилиты systemd по умолчанию тоже используют less. Так что всё написанное выше актуально и для поиска в systemd.
И ещё одна маленькая и полезная фишка, которая сохранит вам много времени и нервов. Когда что-то ищешь в man, потом хочешь проверить это в терминале, по ошибке выходишь из справки и потом приходится опять искать то, что было найдено. Но man не обязательно закрывать. Его можно свернуть комбинацией клавиш CTRL+Z. Приложение уйдёт в фоновый режим. Посмотреть, что работает в фоне, можно введя в консоли:
# bg[1]+ man ls &[1]+ Stopped man lsТеперь возвращаем из фона процесс с man:
# fg manИ продолжаем читать там, где остановились. Подобные трюки можно делать с любыми процессами, запущенными в консоли.
#terminal #linux