Де задокументовані команди, доступні у вікні чоловічої сторінки, і чи залежать ці команди від системи?


9

Використовуючи Linux протягом багатьох років, я раптом виявив, що не знаю, як правильно використовувати manкоманду. Добре відомо, що можна ввести, qщоб вийти із сторінки чоловіка, /здійснити пошук та інші. Не знаю, однак, де це документально підтверджено. Я спробував man man man -a man info manі гуглінг, не пощастило.

Будь ласка, вкажіть мене на правильну позицію, щоб шукати цю інформацію, навіть якщо вона є правильною, man manі я випадково її не помітив, це абсолютно добре, просто дайте мені знати.

Чи відрізняються ці команди для різних ОС або для різних дистрибутивів Linux?


Чи не просто переглянуті чоловічі сторінки less? (Він, принаймні, на моєму розповсюдженні і hпоказує зведення lessкоманд)
Rastapopoulos

@Rastapopoulos Хіба не переглянуті чоловікові сторінки less? Ні. Тому що lessце не стандартна утиліта.
Ендрю Генле

Я думаю, ви можете використовувати readlink -f /usr/bin/pagerабо readlink -f $(which pager)дізнатися, який пейджер у вас (за замовчуванням /bin/less), ніж manвикористовуваний пейджер. Це може (повинно) працювати безпосередньоman pager
Hastur

2
Якщо ви читаєте свої чоловічі сторінки за допомогою moreабо less, ви можете ввести hдопомогу. (або ви можете просто скористатися emacs...)
Алекс Вонг

1
Якщо ви введете ?або hпідкажете пейджер, він повинен дати вам список команд.
Бармар

Відповіді:


11

Це дійсно правильно на сторінці керівництва для manпідзаголовка "Контроль відформатованого виводу" і повторення пізніше в розділі "ЕКОЛОГІЯ" для гарної міри:

За замовчуванням людина використовує pager -s.
Сторінкове керівництво пояснює , як існує ієрархія змінних оточення і параметри командного рядка ( PAGER, MANPAGERі --pager) для перевизначення за замовчуванням.

Так читається в таких системах, як Debian Linux. На відміну від таких систем, як Oracle Linux, man-dbпакет був розроблений з іншим типовим типом, який, однак, все ще відображається там, де знаходиться на сторінці керівництва в тих самих місцях:

За замовчуванням людина використовує less -s.

В man-dbспроби пакета автоматично визначити, під час компіляції, які пейджер по замовчуванням для збірки в команду, а також документ в довідковій сторінці, з less, moreі pager.

У таких системах, як Debian Linux, pagerкоманда є частиною системи "альтернативи" і може зіставляти одну з декількох фактичних команд:

jdebp% update-alternative - список пейджера
/ бін / менше
/ бін / більше
/ usr / bin / pg
/ usr / bin / w3m
jdebp%

Отож, можна ознайомитись із відповідними сторінками з інструкціями щодо того, як керувати ними з клавіатури, відповідно до того, яка альтернатива була обрана. Корисно, що система альтернатив Debian підтримує сторінку керівництва синхронно з обраною командою, тому читання цієї сторінки керівництва є досить простим:

людина пейджер


5

Людина використовує пейджер для показу вмісту.

Точні деталі залежать від того, яку версію manви використовуєте.

Для версії, що використовується в багатьох системах:

  • Якщо параметр -p pagerзаданий, то використовується цей пейджер.
  • В іншому випадку, якщо встановлена ​​змінна середовище MANPAGER, вона використовується.
  • В іншому випадку, якщо PAGERвстановлено, він використовується.
  • Інакше за замовчуванням слід використовувати /usr/bin/less

Якщо сторінка керівництва у форматі HTML, вона BROWSERвикористовується замість MANPAGER/PAGER

Debian використовує man-dbрізні параметри за замовчуванням.

Прочитайте man manдеталі


Спасибі за вашу відповідь. Хоча відповідь пояснює, як це manпрацює, я хотів би запитати вас, чи можете ви зробити послугу, щоб вказати мені на потрібне місце, де ця поведінка зафіксована. Дякую.
Вейджун Чжоу

У моєму man manвиході (знову ж, manверсія: 2.6.3) вказується, що "за замовчуванням використовується менше -s". Тож я думаю, що це залежить від версії та системи?
Вейджун Чжоу

1
Це лише приклад стандартної філософії Unix: невеликі та прості команди, які працюють над текстовими потоками і роблять саме одне і роблять це добре. Форматування посібника та вкладення сторінок - це дві речі, тому вони виконуються двома різними інструментами. Таким чином інструмент пагинації може бути використаний для інших завдань, а не лише для показу сторінок вручну.
Йорг W Міттаг

2

Завдяки @Rastapopoulos я знаходжу рядок, пов’язаний із lessу man manстарому вікні Linux ( manверсія: 1.6f), у розділі ЕКОЛОГІЯ, де зазначено,

BROWSER Назва браузера, який використовується для відображення HTML-сторінок з посібником. Якщо він не встановлений, /usr/bin/lessвикористовується.

Однак у новій вікні ( manверсія: 2.6.3) цей рядок було замінено на

BROWSER Якщо встановлено $ BROWSER, його значення - це розділений двокрапкою список команд, кожна з яких в свою чергу використовується для спроби запустити веб-браузер для man --html. У кожній команді% s замінюється файлом? ім'я, що містить вихід HTML з groff, %% замінюється знаком відсотка (%), а% c заміняється двокрапкою (:).

Виходячи з цієї інформації, я вважаю, що вона відформатована lessза замовчуванням (принаймні для першого випадку). Однак, навіть якщо це так, це задокументовано так, що мені не здається зрозумілим (або я навчився manкоманді неправильно).


2

Немає реального способу повністю відповісти на ваше запитання загалом для різних операційних систем, оскільки manреалізація насправді не є повною мірою заданою.

Відповідь стандарту POSIX, не специфічна для Linux, можна знайти в документації POSIXman :

ІМ’Я

man - display system documentation

СИНОПИС

man [-k] name...

...

ЗМІН З ЕКОЛОГІЇ

Наступні змінні середовища впливатимуть на виконання людини:

МОВА

Надайте значення за замовчуванням для змінних інтернаціоналізації, які не встановлені чи недійсні. (Див. Змінні інтернаціоналізації XBD щодо переваги змінних інтернаціоналізації, які використовуються для визначення значень категорій локалів.)

LC_ALL

Якщо встановлено значення непустого рядка, замініть значення всіх інших змінних інтернаціоналізації.

LC_CTYPE

Визначте локаль для інтерпретації послідовностей байтів текстових даних як символів (наприклад, однобайтові на відміну від багатобайтових символів у аргументах та у підсумковій базі даних). Значення LC_CTYPE не повинно впливати на формат інформації, написаної про операнди імен.

LC_MESSAGES

Визначте локаль, який слід використовувати для впливу на формат та вміст діагностичних повідомлень, записаних на стандартну помилку, та інформативних повідомлень, записаних на стандартний вихід.

НЛСПАТ

Визначте розташування каталогів повідомлень для обробки LC_MESSAGES.

ПАГЕР

Визначте команду фільтрації виводу для запису виводу в термінал. Будь-яка рядок, прийнятна як командний строковий операнд для команди, є дійсною. Коли стандартний вихід - це термінальний пристрій, вихід команди довідкової сторінки повинен проходити через команду. Якщо змінна PAGER є недійсною або не встановлена, командою повинна бути та чи інша утиліта пагінатара, задокументована в системній документації.sh-cmore

Зверніть увагу на розділ RATIONALE, описуючи, чому manне так точно вказано:

RATIONALE

Визнано, що корисність людини є лише мінімальної корисності, як зазначено. Думка розробників стандартів була рішуче розділена щодо того, скільки або як мало інформації людині потрібно вимагати. Однак вони вважають, що надання певного способу доступу до документації сприятиме переносу користувачів. Аргументами проти більш повної специфікації були:

  • Не потрібно вимагати великої кількості документації в системі, яка не має зайвого дискового простору.

  • Поточна система керівництва не подає інформацію таким чином, що значно сприяє переносу користувачів.

  • "Краща система довідки" в даний час є областю, в якій виробники відчувають, що вони можуть додати цінності своїм реалізаціям POSIX.

Варіант -f був розглянутий, але через розбіжності щодо впровадження він не був включений до цього обсягу POSIX.1-2008.

Опис було змінено, щоб бути більш конкретним щодо того, що має відображатися для утиліти. Розробники стандартів вважали недостатньою можливість дозволити показ лише конспекту, не даючи короткого опису того, що робить кожен варіант та операнд.

Запис "призначення", який потрібно включити до бази даних, може бути аналогічним заголовку розділу (за вирахуванням числового префіксу) з цього обсягу POSIX.1-2008 для кожної утиліти. Ці назви схожі на ті, що використовуються в історичних системах для цієї мети.

Див mailx для обґрунтування щодо Paginator за замовчуванням.

Застереження в описі LC_CTYPE було додано, оскільки це не вимога, щоб реалізація надала довідкові сторінки для всіх підтримуваних локалів у кожній системі; зміна LC_CTYPE не обов'язково переводить довідкову сторінку на іншу мову. Це еквівалентно поточному стану LC_MESSAGES у POSIX.1-2008-конкретних повідомленнях ще не є вимогою.

Історична змінна MANPATH не включена в POSIX, тому що не робиться спроба вказати конвенції іменування файлів довідкової сторінки, а навіть не призначити, що вони взагалі є файлами. У деяких реалізаціях вони можуть бути справжньою базою даних, файлом гіпертексту або навіть фіксованими рядками в виконуваному файлі man. Розробники стандартів вважали, що портативність довідкових сторінок виходить за межі їх роботи. Однак користувачі повинні знати, що MANPATH реалізований у ряді історичних систем, і що він може бути використаний для налаштування шаблону пошуку для довідкових сторінок з різних категорій (утиліти, функції, формати файлів тощо), коли системний адміністратор розкриває розташування та умовні позначення для довідкових сторінок у системі.

...

Обґрунтування обговорення сторінок на сторінці mailx :

Вибраний сторінку, коли PAGER недійсний або скасовано, частково не визначений, щоб дозволити історичній практиці System V використовувати pg за замовчуванням. Оминаючи функцію пагинації, наприклад, заявляючи, що кішка є пагінатором, не відповідав би передбачуваному значенню цього опису. Однак будь-якому "портативному користувачеві" доведеться явно встановити PAGER, щоб отримати його або її бажаний пагінатор у всіх системах. Вибір сторінки-пакунка був зроблений частково не визначеним, на відміну від вибору редактора VISUAL (мандат бути vi), оскільки більшість історичних пейджерів відповідають загальній темі введення користувача, тоді як редактори різняться.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.