Manページで情報を見つけるためのトリックやヒントはありますか?
セクション番号に注意してください: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
_」と入力します。これは、要求されたセクションのコマンドの要約を提供します。
セクションは明確に定義されています。
最後に重要なことですが、manページで提供される情報は冗長ではありません。必要なものを見つける可能性を高めるために、最初から最後まで注意深く読んでください。
スラッシュを入力/
をクリックし、検索する文字列を入力します。次にn
を押し続けて次のアイテムに進みます
man -k 検索
これにより、「検索」に関連するすべてのmanページのリストが表示されます。
@Steven Dが言うように、info
ページを忘れないでください。
さらに、info
ページに怯えないでください。ナビゲーションシステムが組み込まれているため、情報ページを使用しない人はたくさんいます。私のお気に入りの解決策は、less
を通じて情報ページをパイプ処理することです。
info gpg |less
このようにして、お気に入りのポケットベルを使用してinfo
ページをナビゲートできます。 info
ページはman
ページと同じように動作します。
apropos
ユーティリティは、適切なマンページを見つけるのに非常に便利です。
Manページを読むためのデフォルトのページャはless
です。 less
here に関するドキュメントがあります。
特に:
SEE ALSOセクションの内容を常に確認してください。このセクションのinfo
ページに表示されているコマンドは、目的のコマンドにカーソルを合わせてEnterキーを押すことで選択できます。そのようにして、他の便利なコマンドや機能を見つけることがよくあります。
デフォルトのページャーよりもエディターに慣れている場合は、環境にMANPAGER
を設定できます。たとえば、~/.bashrc
に次の行があります。
export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"
most ページャーを使用するのは良い考えだと思います。このページャーは非常に強力ですが、私にとっての主な機能は、カラーのマンページを表示することです。この機能により、プレーンテキストの認識が向上し、必要な情報の検索が容易になります。
添付のスクリーンショットを見てください、テキストはとても素敵に見えますね。
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.
検索する場所がわからない場合に非常に役立ちます。
info
ページを無視しないでください。多くのGNUツールには、manページよりもはるかに広範なinfoページがあります。しばしばSEE ALSOセクションには、「fooの完全なドキュメントはTexinfoマニュアルとして保守されています。 "これは特にGNU coreutilsパッケージのすべてに当てはまります。
また、emacsユーザーの場合は、エディタを離れずに情報とマニュアルページを読むことができることを忘れないでください:M-x info
およびM-x woman
。
これらの長くて複雑な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 ;}
クリストフの回答から、あなた(つまり)がman -k chmod
可能性のあるリストが表示されます。括弧内の数字に注意してください。これは、マニュアルページで検索するセクションを意味します。
UNIXでは、次のことを試すことができます。
man -s1 chmod
chmodコマンドのmanページを表示します
man -s2 chmod
C lib関数chmod()のmanページを表示します
Linuxでは-s
ために -S
Rob Hoelzの回答と似ていますが、少し異なります。
~/.vimrc
に以下を追加します:
let $GROFF_NO_SGR=1
runtime ftplugin/man.vim
現在、vimman
は優れたマンページビューアであり、:Man
はVim内から(または単にキーワードの上でK
を押す)優れたマンページブラウザです。
使いやすいグラフィカルアプリケーションでマニュアルページを表示します。
konqueror man:(command)
最上位の目次の場合:
konqueror man:
特徴:
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の「リングアフランカ」であるとさえ言うまで行きます。
単一の文字スイッチを効率的に検索するには、たとえば-u
、頻繁に使用できます:
/^ *-u($|\s)
多くのオプションにプレフィックスとして「-u」が付いている場合、時間を大幅に節約できます。
私たちのほとんどは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
man -a printf
はデフォルトでman 1
Linux Mintマシンで。 whatis printf
関連情報を教えてください。
組み込みのbash
に関する情報(time
、disown
、set
、[[
など)を探している場合は、詳細なbash
情報ページまたはman bash
を使用してログインすると、help {builtin-keyword}
と入力して基本的な構文情報をすばやく取得できます。
私はgrep
を使用します。私は何を不思議に思ったなら-s
read
コマンドのオプションがありました。答えが出るまで、これらのコマンドを順番に試します。
info read |grep \\-s
man read |grep \\-s
help read |grep \\-s
この場合、info
コマンドのみが明確な答えを提供しました。 この優れた答え は、さまざまなヘルプシステムの詳細を示します。
Man printfがprintf(1)を提供し、必要なのがprintf(3)だけであることにイライラしている場合、次のように、printfの前にセクションを配置することで、セクション3のprintfを必要とするように指示できます:man 3 printf
、 MANPATH環境変数のスキャンされたディレクトリの順序を変更し、シェルコマンドのディレクトリの前にC言語のディレクトリを配置する必要はありません。
また、タッチスクリーンで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リンクをマウス/指でクリックできます。
真っ白なテキストのためにマンページが読みにくい場合は、カラー化できます。ほとんどの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用です。 most
、fish
、xterm
およびrxvt
については、上記のリンクを参照してください。
さらに読むために:
apropos(1) コマンドは、manページの検索に使用されます。ただし、 apropos(1) のほとんどの実装では、NAMEセクションを検索するだけで、非常に制限があります。
NetBSD には、apropos(1)の全文検索の実装があり、manページの完全なコンテンツを検索できます。それのためのウェブベースのインターフェースもあります: man-k.org 、それを試すことができます。