Як я можу отримати допомогу в термінальних командах?


33

Я часто бачу такі речі

читати Для отримання додаткової інформації читайте сторінку чоловіка xyz . побачитиman xyz

info xyz

тому мені цікаво:

  • Як я можу отримати допомогу в термінальних командах взагалі?
  • Які саме ці люди та інформаційні сторінки ?
  • Як їх знайти та переглянути?

1
Частково дупе
муру


Я також хотів би згадати tldr.sh , який є спробою спростити та представити довідкові сторінки кращим чином.
Ніхто не показував моє справжнє ім’я

@ Nodon'tshownmyrealname Ви б написали відповідь tldr? Можна також згадати cheatі , можливо , cheat.sh .
десерт

Відповіді:


44

Що таке чоловіча сторінка ?

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

Як я можу знайти та переглянути довідники?

Офлайн в терміналі

Сторінки людини автоматично встановлюються у вашій системі разом із описаними ними командами. Для перегляду та пошуку довідкових сторінок є команда man:

man mv

відображає сторінку чоловіка mvчас

man -k mv

шукає імена та короткі описи всіх встановлених man сторінок для рядка mv. Розширені регулярні вирази POSIX дозволені, і це пошук , тому це також знайде, наприклад, git-mvі semver, якщо ви хочете шукати точно mvвикористовувати ^mv$замість цього.

Дивіться Яка різниця між `man` та` man (#) `? читати про розділи сторінки чоловіка. Для отримання додаткової інформації читайте manсторінку man. ;)

Як я можу вплинути на відображення чоловічої сторінки?

Програма за замовчуванням для відображення підручних сторінок є less. Цей так званий пейджер забезпечує корисну функцію пошуку, просто введіть, /після чого слід пошуковий термін, наприклад

/--version

і натисніть Enter. Це позначить кожну знахідку і перейдіть до першої. Натисніть, Nщоб перейти до наступної знахідки, і ⇧ Shift+, Nщоб перейти до попередньої (див. Як я можу шукати на сторінці сторінки? ). Для списку команд натисніть H, щоб вийти з lessнатискання Q.

Поруч lessє інші пейджери доступні: pg, mostа w3mпросто перерахувати три. Рекомендую most: Поставляється з дуже корисним забарвленням ключових слів, що полегшує користувацьку сторінку значно простішою для читання та навігації.

Найбільш скріншот із відображенням сторінки сторінки телевізора

Щоб переглянути довідкову сторінку в іншому, ніж ваш пейджер за замовчуванням, скористайтеся -Pопцією, наприклад:

man -P most mv

Якщо ви хочете змінити параметри пейджера за замовчуванням, які відображаються, у вас є два варіанти:

  • змінити пейджер за замовчуванням виключно з man

    export MANPAGER=most
    

    Щоб зміни були стійкими, додайте цю команду у свій ~/.bashrcфайл.

  • змінити пейджер за замовчуванням для всієї вашої системи

    sudo update-alternatives --config pager
    

Вболівальники можуть навіть (ab) використовувати vimв якості MANPAGERдивіться цю статтю, написану Муру .

Сторінки людини відображаються шрифтом, вказаним у налаштуваннях емулятора терміналу. Якщо ви регулярно працюєте з терміналом, можливо, ви захочете змінити цей шрифт; Я можу лише порекомендувати Hack - шрифт, призначений для вихідного коду , дивіться на скріншоті вище для його краси.

Офлайн через GUI

Приємний і простий спосіб відображення підручних сторінок за допомогою простого GUI - це попередньо встановлена yelpпрограма. Щоб запустити довідкову сторінку з yelpExecute yelp man:PROGRAMабо gnome-help man:PROGRAM, наприклад:

yelp man:mv

Ви також можете переглядати підручні сторінки у вибраному веб-переглядачі , див. Як зробити відкриті підручні сторінки у веб-переглядачі? , Наприклад , для man mvв firefox:

man -Hfirefox mv

І останнє, але не менш важливе, ви можете перетворити підручні сторінки в PDF і переглянути їх за допомогою улюбленого переглядача PDF.

Інтернет

http://manpages.ubuntu.com

Ви можете переглядати основні сторінки програм, доступні через сховища кожної підтримуваної в даний час версії Ubuntu за допомогою скороченої URL-адреси manpg.es/PROGRAM, наприклад, http://manpg.es/mv . Відкриється mvчоловіча сторінка для останнього випуску Ubuntu, ви можете вибрати інший випуск у верхній панелі. Для пошуку чоловічих сторінок ви можете використовувати, наприклад, http://manpages.ubuntu.com/cgi-bin/search.py?q=mv .

Як пояснено вище, manможна відображати лише основні сторінки програмного забезпечення, встановленого в системі. Для перегляду підручних сторінок з http://manpages.ubuntu.com за допомогою термінального пейджера, який dmanє в bikeshedпакеті.

Інші джерела

Коли ви читаєте документацію з інших джерел в Інтернеті, корисно слідкувати за версією програми. У більшості програм є --versionопція, яка відображає відповідну версію програми, наприклад

$ mv --version
mv (GNU coreutils) 8.25

Є дуже багато веб-сайтів, які присвятили себе тим, щоб зробити доступні сторінки підручників, я просто представлю два, які мені найбільше подобаються:

  • man7.org має корисне підсвічування синтаксису, але він містить лише останню випущену версію програми
  • manpag.es розміщує сторінки чоловіків Ubuntu випускає давно минулий EOL

Джерело ще не пов'язане: https://wiki.ubuntuusers.de/man/


Ще одна корисна хитрість (принаймні, якщо ви програміст) - написати невеликий сценарій, щоб скинути висновок людини у ваш текстовий редактор на вибір. Наприклад (\ n - новий рядок) #! / Bin / tcsh \ n set name = $ argv [$ # argv] \ n set file = /tmp/man.$name.out\n / usr / bin / man $ * | col -bx> $ file \ n (шлях до редактора) $ file \ n rm $ file \ n Подібний, але специфічний для редактора макрос дозволить вам зателефонувати людині з редактора, що дуже корисно.
jamesqf

@jamesqf Цікаво, чому ти це робиш і коли це використовуєш? Оскільки редактори зазвичай вміють читати з stdin, ви можете спростити її до, наприклад, man $*|col -bx|nano -або man $*|col -bx|kate -i.
десерт

@jamesqf якщо ви експортуєте людина сторінку в текстовий файл з метою пошуку або легко переміщатися, ви дійсно повинні розглянути поглянути на «РЕЗЮМЕ МЕНШЕ КОМАНДИ» page.It можна відкрити , набравши «ч» в less( manвикористовуйте lessкоманду для пагінацію так це manтеж працює )
Людовик Ронсін

@Ludovic Ronsin: Я це роблю в своєму редакторі, а не менше з двох причин. По-перше, тому що я знаю команди мого редактора (які набагато потужніші, ніж менші команди), і мені не потрібно перешкоджати вивченню ще одного набору команд, які я неминуче плутаю в різних контекстах. По-друге, тому що я можу підключити редакторську версію до натискання клавіші (Alt-m, як це відбувається) і тим самим отримати довідку щодо будь-якого виклику функції, який має довідкову сторінку. Щодо того, чому я це роблю так, як це роблю, я написав це 20+ років тому, і це спрацювало досить добре.
jamesqf

@jamesqf просто встановив PAGER = "vim -" робити?
d33tah

13

Основи вже висвітлювалися, але один веб-сайт, на мій погляд, є дуже корисним для того, щоб розповісти, що робить команда https://explainshell.com , яка розбиває команду на її розділи та показує, що кожен біт робить.

введіть тут опис зображення


1
+1 Це абсолютно не те, про що я пішов, коли писав це запитання, але це чудовий ресурс, про який я не знав - велике дякую! Оскільки інші відповіді навмисно висвітлюють одну основну тему, можливо, ви поширите свою відповідь, щоб загалом висвітлити онлайн-інструменти? shellcheck.net приходить на думку…
десерт

12

Що таке інформаційна сторінка ?

Поряд

man program-name

часто також є

info program-name

Іноді вони однакові (дублікати), але іноді одна з цих сторінок містить більше інформації. Наприклад

info ddrescue

містить більше інформації, ніж

man ddrescue

і

info date

містить більше інформації, ніж

man date

Баланс між manі infoзалежить від політики людей, які підтримують певну програму [пакет].

Дивіться це посилання для більш детальної інформації,

unix.stackexchange.com/questions/19451/difference-bet between-help-info-and-man-command


11

Що таке helpкоманда?

helpвідображає корисну інформацію про bashвбудовані команди. Він надає допомогу лише для команд bash shell. Ви можете використовувати , typeщоб визначити , є чи команда такий вбудований, наприклад , type echoпроти type rm.

Він називається візерунком як аргумент:

help if

відображає сторінку довідки для ifкоманди. Якщо вас просто цікавить синтаксис команди, скористайтеся -sопцією, якщо ви хочете helpотримати вихід у manформаті сторінки -m. Щоб зручно переглядати довгі тексти довідки, ви можете передавати висновок бажаному пейджеру (див. Розділ "Як я можу впливати" на цю відповідь ):

help -m if | less

Порівняння з manіinfo

Ви можете запустити та порівняти такі команди:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

Як і в цьому прикладі, є програми, які доступні як убудованою, так і звичайною програмою (див. Чому існує / bin / echo і навіщо я хочу його використовувати? ), У цьому випадку сторінка man зазвичай містить примітка із зазначенням того.

Дивіться це посилання для отримання більш детальної інформації: Різниця між довідкою, інформацією та командою man · U&L

опція програми -hта / або--help

Зазвичай є вбудована допомога в самих програмах, доступних принаймні одним із варіантів -h, --helpабо -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Якщо обидва варіанти -hі --helpіснують, вони часто еквівалентні, але іноді ви отримуєте «більше допомоги» з --help, -H, --longhelp, --help-allабо подібними командами. Така поведінка описано в програмах man/ infoсторінці.

Зазвичай є більше інформації через manта info, а іноді є ексклюзивна інформація з допомогою -h. Виконати та порівняти вихід

man lsblk

і

lsblk -h

Деякі програми подобається df, tarі rsyncвикористовувати опцію -hдля чого - то ще. Це описано на man/ infoсторінці кожної програми.

Знову ви можете передавати висновок бажаному пейджеру, наприклад:

lsblk -h | less

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

6

Що таке підручник і як можна знайти корисний

Якщо у вас є певний досвід для Linux, людина сторінки, інформація сторінок і довідкові параметри дуже корисні. Але на початку їх важко зрозуміти; для початку вам потрібна більш детальна допомога.

Докладну допомогу можна знайти в навчальних посібниках ,

  • детальне пояснення, як використовувати команду
  • приклади

Зазвичай ви знайдете підручники через Інтернет, іноді є корисний підручник на сторінці man або на інформаційній сторінці.

  • Спробуйте, наприклад, кілька пошукових рядків, коли ви використовуєте пошукову систему веб-браузера

    • Шукаєте вказані інструменти

      • нано підручник
      • sed навчальний посібник
      • навчальний посібник imagemagick
      • підручник з rsync
    • Пошук завдань (і пошук підручників для різних інструментів)

      • Підручник редактора текстового режиму Linux
      • Підручник редактора зображень для пакетного режиму Linux

Перегляньте коротко декілька посилань, які ви знайдете, і починайте працювати з підручником, який відповідає тому, що вам потрібно .

  • man rsync є досить детальним, щоб я міг використовувати його як підручник, але ви, можливо, захочете більше деталей (і шукайте підручник через Інтернет).
  • info ddrescue має гарний вбудований підручник.

Ідеально, дякую за ваш постійний внесок - я вважаю, що це питання стане дуже корисним джерелом, на яке ми можемо вказувати початківцям. Я додам покажчик вмісту до запитання і зв’яжу відповіді з запасними глядачами прокрутки.
десерт

1
@dessert, Це хороша ініціатива від вас, і я радий сприяти :-)
sudodus


2

Моя улюблена - commandlinefu.com , має функцію у вашому .bashrcчи .zshrcподібному

cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
    | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}

Давайте спробуємо cmd mount cd, я назвав свою функцію cmd, ви можете назвати її все, що завгодно

введіть тут опис зображення

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

або є новий спосіб зробити це за допомогою цього .

http://samirahmed.github.io/fu/

Ось підручник .

Давай зробимо fu cron

введіть тут опис зображення


1

З’ясуйте, як відкрити вікно терміналу і видати команду man man. Введіть пробіл, щоб перейти до наступного екрану кожного разу, коли внизу буде написано "Більше". Ви читаєте сторінку керівництва для програми ручної читанні, man!

Перед вами дуже маленька проблема з куркою і яйцями. manКоманда допоможе вам прочитати інструкцію про кожної команди на системі. Але для manвиводу використовується інша команда під назвою more. Ви також можете прочитатиman more щоб дізнатися додаткові навігаційні команди для more.

І це все! Я дізнався все, що знаю про unix, прочитавши сторінки man на сотні команд.


3
У Ubuntu manвикористовується lessза замовчуванням, ні more.
муру

0

Багато хто вже згадував man. Трохи прикольна функція, яку manмало хто знає, це

man -t $ (manpage) > manpage.ps

який створює файл PostScript для сторінки керівництва. PostScript можна легко перетворити в PDF. Це призводить до набагато приємнішого форматування, ніж версія терміналу командного рядка за замовчуваннямman .

Наприклад:

man -t man> man.ps

pstopdf man.ps

Я щойно тестував його на Ubuntu (і він повинен працювати на інших Linuces) та Mac OS.

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