7

Вероятно, где-то ответили, но сложно сформулировать поисковую фразу.

Я запускаю окно терминала bash, и некоторые команды слишком велики, чтобы уместиться на странице (например, ps -A)

Я смутно припоминаю параметр / метод командной строки, который показывает вывод команд за страницей, чтобы я мог прокручивать вывод, но я не могу вспомнить, что это .... какие-нибудь указатели?

3 ответа3

7

Для команд, которые я часто использую, я обычно настраиваю function в своем .bashrc, чтобы сделать их разбиение на страницы, если они длиннее экрана.

Как ваш пример: (PS-A)

function ps { command ps "$@" |& less -F; }

Это заменяет ps функцией с именем ps , которая вызывает исходную команду ps с любыми аргументами, указанными в командной строке, а затем направляет вывод (stdout и stderr, используя |& pipe) в less -F , который делает паузу, если есть больше чем полный экран, но выходит немедленно, если он меньше полного экрана.

ОЧЕНЬ удобно, не мешает ничему, с чем я работал до сих пор, и просто круто!

Вы также можете добавить часто используемые опции в команду / функции:

function nm { command nm --demangle "$@" |& less -F; }

Это заставляет nm всегда разбирать символы C++. И разбивает на страницы вывод. Ура!

Я использую Debian, поэтому довольно часто использую команду apt-cache , в основном ищем и показываю . Эта функция вызывает разбиение на страницы для этих опций, результаты поиска сортируются и все разбивается на страницы:

function apt-cache { case  "$1" in "search") command apt-cache "$@" | sort | less -F;; *) command apt-cache "$@" | less -F;; esac; }

Если команда 'search', сортируйте вывод, затем разбивайте на страницы с less -F , но если команда - что-то еще, просто разбивайте на страницы без сортировки.

Иногда я забываю, что у меня есть функции, и я буду делать что-то вроде:

apt-cache search gcc | less

Функция не мешает, все работает как положено, никакого вреда в любом случае нет.

Еще один небольшой трюк: я использую один и тот же .bashrc на всех своих системах, поэтому иногда утилита может не устанавливаться, поэтому функция не нужна. Я делаю их так:

which apt-cache &>/dev/null && function apt-cache { case  "$1" in "search") command apt-cache "$@" |& sort | less -F;; *) command apt-cache "$@" |& less -F;; esac; }

Он просто использует команду which чтобы определить, доступна ли программа, а если нет, то тихо завершается сбоем и пропускает установку функции. Таа Даа!

6

Обычный метод состоит в том, чтобы направить вывод на "меньше".

ls -R / | less

q - это ключ к выходу, как и страница руководства.

Если команда может вызвать ошибки или другой вывод в stderr, вы можете также направить это в канал.

ls -R 2>&1 | less

Любая машина, у которой есть bash, должна иметь меньше. На старых машинах с Linux программа была больше, но она делает только страницу за раз, меньше позволит вам прокручивать, как вы хотите.

0

Направьте вывод на «больше»

output | more -d


Enter - > Scroll by line
Space - > Scroll by Page
q     - > Quit

Протестировано на ОС rpm.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .