web-dev-qa-db-ja.com

manページで情報を見つけるためのトリックとヒント

Manページで情報を見つけるためのトリックやヒントはありますか?

82
Casebash

セクション番号に注意してください:printfに関するヘルプが必要だとします。それらの少なくとも2つがあります。シェルとCです。printfのbashバージョンはセクション1にあり、Cバージョンはセクション3または3Cにあります。どちらが必要かわからない場合は、_man -a printf_と入力すると、すべてのマニュアルページが表示されます。

探しているものがすべての%コードを含むprintfの形式であり、それがprintfのマニュアルページに表示されない場合は、「関連項目」の段落にリストされている関連するマニュアルページにジャンプできます。 _man 5 formats_と入力するように勧めるformats(5)のようなものがあります。

_man printf_がprintf(1)を提供し、必要なのがprintf(3)だけであることにイライラしている場合は、スキャンされたディレクトリの順序をMANPATH環境変数に変更し、シェルコマンドの前のC言語。これは、FortranまたはTCL/TkのmanページがCの前にリストされている場合にも発生する可能性があります。

どこから始めればよいかわからない場合は、「_man intro_」または「_man -s <section> intro_」と入力します。これは、要求されたセクションのコマンドの要約を提供します。

セクションは明確に定義されています。

  • 1はシェルコマンド用、
  • 2はシステムコール用で、
  • 3はプログラミングインターフェイス用です(Cの場合は3C、Fortranの場合は3F ...)
  • 5は、ファイル形式と、printfやregex形式などの他のルール用です。

最後に重要なことですが、manページで提供される情報は冗長ではありません。必要なものを見つける可能性を高めるために、最初から最後まで注意深く読んでください。

51
mouviciel

スラッシュを入力/をクリックし、検索する文字列を入力します。次にnを押し続けて次のアイテムに進みます

58

man -k 検索

これにより、「検索」に関連するすべてのmanページのリストが表示されます。

37
Kristof Provost

@Steven Dが言うように、infoページを忘れないでください。

さらに、infoページに怯えないでください。ナビゲーションシステムが組み込まれているため、情報ページを使用しない人はたくさんいます。私のお気に入りの解決策は、lessを通じて情報ページをパイプ処理することです。

info gpg |less

このようにして、お気に入りのポケットベルを使用してinfoページをナビゲートできます。 infoページはmanページと同じように動作します。

20

apropos ユーティリティは、適切なマンページを見つけるのに非常に便利です。

18
Hank Gay

Manページを読むためのデフォルトのページャはlessです。 lesshere に関するドキュメントがあります。

特に:

  • 1ページずつ上下にスクロールします。 b / space
  • 半ページ上または下にスクロールします。 u / d
  • 前方/後方検索: / / ?、次に正規表現を入力します。
    • 次にヒットします n 次の試合に行くか
    • shiftN 前の試合に行く。
    • ページが興味のない一致で覆われている場合は、 space 次のページに移動します。
  • 追加する @ 最初から検索する正規表現の前。
16
Casebash

SEE ALSOセクションの内容を常に確認してください。このセクションのinfoページに表示されているコマンドは、目的のコマンドにカーソルを合わせてEnterキーを押すことで選択できます。そのようにして、他の便利なコマンドや機能を見つけることがよくあります。

8
Neth

デフォルトのページャーよりもエディターに慣れている場合は、環境にMANPAGERを設定できます。たとえば、~/.bashrcに次の行があります。

export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"
7
Rob Hoelz

most ページャーを使用するのは良い考えだと思います。このページャーは非常に強力ですが、私にとっての主な機能は、カラーのマンページを表示することです。この機能により、プレーンテキストの認識が向上し、必要な情報の検索が容易になります。

添付のスクリーンショットを見てください、テキストはとても素敵に見えますね。

most pager

4
dr.

Linux manでは、次のことができますman -K string(大文字のKに注意)指定された用語のブルートフォース検索を実行します

   -K, --global-apropos
          Search for text in all manual  pages.   This  is  a  brute-force
          search,  and is likely to take some time; if you can, you should
          specify a section to reduce the number of pages that need to  be
          searched.   Search terms may be simple strings (the default), or
          regular expressions if the --regex option is used.

検索する場所がわからない場合に非常に役立ちます。

4
enzotib

infoページを無視しないでください。多くのGNUツールには、manページよりもはるかに広範なinfoページがあります。しばしばSEE ALSOセクションには、「fooの完全なドキュメントはTexinfoマニュアルとして保守されています。 "これは特にGNU coreutilsパッケージのすべてに当てはまります。

また、emacsユーザーの場合は、エディタを離れずに情報とマニュアルページを読むことができることを忘れないでください:M-x infoおよびM-x woman

3
Steven D

これらの長くて複雑なmanページでは、コンピューターから読むのがはるかに簡単だと思うので(奇妙なことに、私は知っています)、これらの関数を.bashrc

# Print man pages 
manp() { man -t "$@" | lpr -pPrinter; }

# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \
    xdg-open /tmp/manpdf_$1.pdf ;}
3
jasonwryan

クリストフの回答から、あなた(つまり)がman -k chmod可能性のあるリストが表示されます。括弧内の数字に注意してください。これは、マニュアルページで検索するセクションを意味します。

UNIXでは、次のことを試すことができます。

man -s1 chmod chmodコマンドのmanページを表示します

man -s2 chmod C lib関数chmod()のmanページを表示します

Linuxでは-s ために -S

2
jyz

Rob Hoelzの回答と似ていますが、少し異なります。

~/.vimrcに以下を追加します:

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

現在、vimmanは優れたマンページビューアであり、:ManはVim内から(または単にキーワードの上でKを押す)優れたマンページブラウザです。

2
ephemient

使いやすいグラフィカルアプリケーションでマニュアルページを表示します。

konqueror man:(command)

最上位の目次の場合:

konqueror man:

特徴:

  • 複数のセクションで一致するコマンドを入力すると、明確化ページに移動します
  • これはグラフィカルアプリケーションであるため、ページを移動するために暗号キーシーケンスを覚えておく必要はありません。
  • 関連ページ(「参照」ページを含む)へのハイパーリンクが含まれています
  • 関連ページを別のタブで開くことができます
2
nobar

Dayum、人!複雑な答えは何ですか?シンプルさが輝きの鍵であることはどうなりましたか?ほとんどのvi/vimキーは問題なく動作します。

_/_または_?_-前方または後方に検索します(一部の人はすでに言及しています)。前者の場合、小文字のnは一致を前方にスクロールし、大文字のNは後方にスクロールします。後者の場合、疑問符が逆になります。

正規表現によるやや複雑な検索。 man(またはless)とVIMの違いは、後者を使用する場合、エスケープ()文字を使用して式のメタ文字を宣言する必要があることです。 。良いニュースは、前者(manまたはless)を使用している場合はそれほど多くないことです。そのため、たとえばiptablesのように複数の用語のmanページ:/(iptables|rules)。正規表現に慣れていない場合、これは「単語のインスタンスを検索するiptables OR = rules "。これを入力してnを押し続けると、検索の交互の結果がスクロールされ、結果がさまざまな色(2つ、実際にはハハ)でうまく強調表示されます。ページをざっと見て、特定の用語や概念に集中したい場合は、1つのことを見逃すことはありません。

そしてもちろん、より速いナビゲーションのために、通常のviスタンドバイはまだ立っています(しゃれは意図されていません):ggまたはG-ドキュメントの開始/終了。 (修正!manでは、Ctrlを使用せずに下記のすべてのキーを使用できます。これはviの場合のみです)。 _Ctrl + u or d_-上または下にスクロールします。 _Ctrl + b or f_-同じことです。 "後方または前方のページ"; eまたはy-1行ずつスクロールしますが、ほとんどの人は矢印キーだけを使用したいと思います。しかし、あなたが「1337」にとどまり、「家の列を決して離れない」(私が笑っているように)場合は、それが進むべき道です。

私が言おうとしているのは、UNIXには2つの主要なキーボードプログラムコントロールがあり、どちらもreadlineライブラリの一部であるviとemacsです。どちらかでチョップを上げる(ただし、できれば両方で)と、生活の複雑さが大幅に軽減されます。 UNIXのほとんどのCLIプログラムはどちらかを採用しています。 BASHはデフォルトでemacsコントロールを使用しますが、_set -o vi_と入力することで簡単に「viモード」に設定できます。正規表現についても同じことが言えますが、それは話題から外れています。私はこれらの両方がUNIXの「リングアフランカ」であるとさえ言うまで行きます。

2
Max

単一の文字スイッチを効率的に検索するには、たとえば-u、頻繁に使用できます:

/^ *-u($|\s)

多くのオプションにプレフィックスとして「-u」が付いている場合、時間を大幅に節約できます。

1
matt

私たちのほとんどはPATH変数を設定します。これは、man検索パスをコマンド検索PATHに自動的に一致させる方法を示します。

パスを追加して、export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:のように、ローカルにインストールされた個人用の作業固有のユーティリティを含めるとします。副作用として、man fooは〜/ man、/ workgroup/man、または/ opt/local/manに保存されているマンページを表示しません。

これを解決するには、manpathコマンドを使用して、manページの検索パスを自動的に設定します。たとえば、私の〜/ .bashrcには以下が含まれています。これは、FreeBSD 4.x、Darwin、CentOS 5のすべてを実行している100種類のシステムで動作します。

### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin

### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null

一部のシステム(Apple Leopard)など)はMANPATHを自動的に設定しますが、これは、システムがmanpathを使用する代わりにMANPATH変数を使用することを意味します。その結果、 ' MacPortsの(/ opt/local/man)は無視されます。自分で制御したいので、MANPATHの設定を解除します。

unset MANPATH
manpath >/dev/null
1

man -a printfはデフォルトでman 1 Linux Mintマシンで。 whatis printf関連情報を教えてください。

1
stu

組み込みのbashに関する情報(timedisownset[[など)を探している場合は、詳細なbash情報ページまたはman bashを使用してログインすると、help {builtin-keyword}と入力して基本的な構文情報をすばやく取得できます。

1
LawrenceC

私はgrepを使用します。私は何を不思議に思ったなら-sreadコマンドのオプションがありました。答えが出るまで、これらのコマンドを順番に試します。

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

この場合、infoコマンドのみが明確な答えを提供しました。 この優れた答え は、さまざまなヘルプシステムの詳細を示します。

1
Cees Timmerman

Man printfがprintf(1)を提供し、必要なのがprintf(3)だけであることにイライラしている場合、次のように、printfの前にセクションを配置することで、セクション3のprintfを必要とするように指示できます:man 3 printf、 MANPATH環境変数のスキャンされたディレクトリの順序を変更し、シェルコマンドのディレクトリの前にC言語のディレクトリを配置する必要はありません。

1
Li Lo

また、タッチスクリーンでmanページとinfoページを読みたい人は、man/infoをyadまたはzenityにパイプして、ネイティブの指スクロールなどのすべてのgtk3の便利な機能を利用できます。 refular画面とマウスでもうまく機能します:

man cat |yad --text-info 

Zenityを使用することも、次のようなyadオプションを追加することもできます。

man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &

ヒント:showによって、uri yohは、manページ内のWebリンクをマウス/指でクリックできます。

0
George Vasiliou

enter image description here 真っ白なテキストのためにマンページが読みにくい場合は、カラー化できます。ほとんどのmanページはlessで開きます。 lessの場合、.bashrcの-​​ here から次の色設定を使用します。

man() {
    LESS_TERMCAP_md=$'\e[01;31m' \red
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_se=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[01;32m' \green
    command man "$@"
}

これはbashとzsh用です。 mostfishxtermおよびrxvtについては、上記のリンクを参照してください。

さらに読むために:

0
vikram99

apropos(1) コマンドは、manページの検索に使用されます。ただし、 apropos(1) のほとんどの実装では、NAMEセクションを検索するだけで、非常に制限があります。

NetBSD には、apropos(1)の全文検索の実装があり、manページの完全なコンテンツを検索できます。それのためのウェブベースのインターフェースもあります: man-k.org 、それを試すことができます。

0