manページで情報を見つけるためのコツとヒント[非公開]


80

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


1
man --help/ man -hそして、より完全な兄弟にman manは、検索とナビゲーションのヒントがあります。
アントンタラセンコ

回答:


51

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

探しているのがすべての%コードを含むprintfの形式であり、printfのマニュアルページに表示されない場合は、関連する段落にリストされている関連するマニュアルページにジャンプできます。あなたのような何かを見つけることがformats(5)、あなたが入力することを提案します、man 5 formats

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

どこから始めればよいかわからない場合はman intro、またはを入力しman -s <section> introます。これにより、要求されたセクションのコマンドの要約が表示されます。

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

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

最後になりましたが、manページで提供される情報は冗長ではないため、最初から最後まで注意深く読んで、必要なものを見つける機会を増やしてください。


11
ほとんどのシステムman manでは、さまざまなセクションの詳細な説明を確認できます。
スティーブンD

1
«キーワード»でページを検索するプログラムがあれば、それはクールです。すなわち、私は最近、部分文字列strstr()を見つけるためのc関数の名前を思い出せませんでした。そして、私の周りにインターネットがありませんでした。
こんにちは天使14年

3
@ Hi-Angel man -k substringまたはapropos substringあなたを助けたでしょう。
クサラナナンダ


37

man -k 検索

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


2
そして、もう一つは、これを使用することができ(例えば、数3)特定のセクションに「検索」に関連するすべてのmanページ一覧表示します man -k search -s 3 。またで述べたsuperuser.com/a/677969/599957
ケンイチ

このようなコメントは眉をひそめていることは知っていますが、ありがとう、ありがとう、ありがとう!私は文字通りこのようなコマンドを私が認めたいと思っているより長い間探し続けてきました...年!!
-MikeyE

19

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

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

info gpg |less

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


1
ねえ、それはナビゲーションに関する素晴らしいヒント
です

18

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


1
man -k== apropos、そうではありませんか?
プネヘヘ

1
apropos私自身がマニュアルページを持たないものを探すときにいつも使っているものです。
ポレモン

1
「man man」は、「man -k」が「apropos -r」と同等であると言います。aproposはもう少し強力だと思います。少し短いので、通常は「man -k」を使用します。
クリストフプロボスト

16

マニュアルページを読むためのデフォルトのポケットベルはlessです。less ここにドキュメントがあります

特に:

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

これが最良の答えです。kbdシンボルを使用するための追加ポイント。;)
ちらみす

1ページ/上下にスクロールすることでもを行うことができますctrl+space/ fあなたは、ナビゲーションのために使用することを好むどの指に応じて、便利であるかもしれません。
joelostblom

8

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


7

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

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

4

私は、ほとんどのポケットベルを使用することをお勧めします。このページャーは非常に強力ですが、主な機能は色付きのマンページを表示することです。この機能により、プレーンテキストの認識が向上し、必要な情報の検索が容易になります。

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

ほとんどのポケットベル


2
最も重要な情報mostは省略しました。manページを表示するにはどうすればよいですか。
user1968963

2
@ACK_stoverflow- > ~/.bashrc既にそこにあるものを上書きするので、たぶん男に推奨することはお勧めできません。>>私の意見では、ライムを手動で追加()するか、手動で追加することをお勧めします。
vatsug 16

@vatsugすごいいいですね、ここに私のコメントが言っていたはずです:インストールして試してみてください:aptitude install most; export MANPAGER="most"; man man。永続化するには:echo 'export MANPAGER="most"' >> ~/.bashrc
ACK_stoverflow

4

Linuxではmanman -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.

検索する場所がわからない場合に非常に便利です。


3

無視しないでくださいinfoページを。多くのGNUツールには、manページよりもはるかに広範な情報ページがあります。多くの場合、「関連項目」セクションには「fooの完全なドキュメントはTexinfoマニュアルとして維持されています」と書かれています。これは、GNU coreutilsパッケージのすべての場合に特に当てはまります。

また、あなたがEmacsのユーザであれば、あなたはエディタを離れることなく、情報やマニュアルページを読むことができます忘れないでください:M-x infoM-x woman


3

それらのより長く、より複雑なマニュアルページについては、それらをコンピュータから読むのがはるかに簡単であることがわかります(奇妙なことですが)。 .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 ;}

2

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

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

man -s1 chmod chmodコマンドのmanページが表示されます

man -s2 chmod C lib関数chmod()のmanページが表示されます

Linuxでは、あなたは変更する必要があります-sのために-S


man 1 chmod man 2 chmodは同じことを行います。
楕円ビュー

2

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

konqueror man:(command)

最上位の目次の場合:

konqueror man:

特徴:

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

ところで、これはでも動作しinfo:(command)ます。一部のプログラムは「man」よりも「info」を介してより多くの情報を提供し、konquerorはこれらの情報ページを閲覧するためのはるかに優れたインターフェースを提供します。注:を使用するだけでinfo:、最上位の目次を取得することもできます。
-nobar

localhost / cgi-bin / man / man2htmlgmanでマンページWebサーバーを確立するパッケージを使用して、同様の効果を実現できます。
nobar


...のyelp代わりとなる軽量のドロップインkonqueror-複数のセクションで使用される名前の目次や曖昧さ回避ページを表示しないという欠点があります。あなたは追加することによって明示的にこれらを区別する必要が.(section)例えば- yelp man:open.2。<kbd> Ctrl-L </ kbd>を使用してロケーションバーを開くこともできます。
nobar

2

ダユム、人々!複雑な答えは何ですか?!素晴らしさの鍵であるシンプルさに何が起こったのでしょうか?ほとんどのvi / vimキーは泳ぎながら動作します。

/または?-前方または後方に検索します(一部の人が既に述べたように)。前者の場合、小文字のnはマッチを前方にスクロールし、大文字のNは後方にスクロールします。後者の疑問符については逆です。

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

そして、もちろん、より速いナビゲーションのために、あなたの通常の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コントロールを使用しますが、を入力することで簡単に「viモード」に設定できますset -o vi。正規表現についても同じことが言えますが、それは話題から外れることでしょう。私は、これらの両方がUNIXの「共通語」であるとさえ言いたいです。


2

Rob Hoelzの答えと似ていますが、わずかに異なります。

に次を追加します~/.vimrc

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

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


1

私たちのほとんどは、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

あなたはに関する情報をお探しならbash組み込みを(のようなtimedisownset、または[[)、代わりに詳細を通じて強のbash情報ページやman bash、あなたが入力することができますhelp {builtin-keyword}し、すぐに基本的な構文情報を取得します。


1

あなたは男のprintfが与えるイライラしている場合は、printfの(1)とあなたが望むすべては(3)、あなたはそうのように、printfの前にセクションを置くことによって、セクション3からのprintfをしたい人に伝えることができますprintfのです。man 3 printf変更することなく、 MANPATH環境変数内のスキャンされたディレクトリの順序。C言語のディレクトリをシェルコマンドのディレクトリの前に置きます。


1

使用するだけgrepです。コマンドの-sオプションが何をしたのか疑問に思ったらread、答えが出るまでこれらのコマンドを順番に試してみます:

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

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


1

man -a printfman 1Linux Mintマシンでデフォルトに設定されます。 whatis printf適切な情報を教えてくれます。


1

たとえば-u、1文字のスイッチを効率的に検索するには、次を使用できます。

/^ *-u($|\s)

多くのオプションに「-u」が接頭辞として含まれている場合、時間を大幅に節約できます。


また、この正規表現は便利です。 /-u($|[,\s]) オプション文字がカンマで囲まれている場合。しかし、あなたは(のようなオプション文字「U」のすべてのエントリを参照したい場合は-u][--udp|-u]netstatマニュアルを)あなたはこのような何かをする必要があります。 /-u($|[^a-z]) そして、もしviまたはvimページャとして使用されている: /-u\($\|[^a-z]\)
健一

0

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

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


0

ここに画像の説明を入力してくださいすべての白い色のテキストが原因でマンページを読みにくい場合は、マンページを色付けできます。ほとんどのマニュアルページはで開きlessます。以下のためにless、私はで以下のカラー設定使用.bashrcからここに

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用です。および上記のリンクを参照してください。mostfishxtermrxvt

さらに読むには:


0

そして、タッチスクリーンで人と情報のページを読むのが好きな人のために、人/情報をyadまたはzenityにパイプし、ネイティブの指スクロールのようなすべてのgtk3グッズを利用できます。反射スクリーンとマウスでもうまく機能します:

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リンクをマウス/指でクリックできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.