「man」を使い始める: いくつかの質問

「man」を使い始める: いくつかの質問

男性と問題を抱えています:

  1. マニュアルページのセクションを表示するにはどうすればいいですか? マニュアルページで提供されているセクションを調べるにはどうすればいいですか? はパラメータ に従って、マニュアルページの利用可能な「セクション」のリストを取得する必要があります。 しかし、、、またはのman man -S利用可能なセクションを で表示しようとすると、リストが表示されるはずですが、表示されるのは次のメッセージだけです: どのマニュアルページが必要ですか?gitlspwdman -S git

  2. 2 つ目の質問もあります。マニュアル ページの短縮版/プレビューを表示するにはどうすればよいでしょうか。これを解決するのも私の仕事です。やりたいことにぴったりのパラメータが見つかりませんでした。

PS: 私はMacOS Sierraでシェルを使用しています

答え1

簡単な答え:

マニュアルページは含むセクション。セクションにはマニュアル ページが含まれます。

これは、あなたが言及している番号付きセクションを指します。同じ名前のマニュアル ページが 2 つあっても、2 つの異なる (番号付き) セクションに存在する場合があります (例: ) printfprintf(1)マニュアル ページは、コマンド ライン ツールについて説明しています。マニュアルprintf(3)ページは、C 関数呼び出しについて説明しています。

次のコマンドを実行すると、両方のマニュアル ページを順番に表示できます。

man -a printf

最初のものを終了すると、2 番目のものが表示されます。

どちらも開かずに、どのセクションに表示されるかを確認するには、次のコマンドを実行します。

man -aw printf

番号の付いたセクションの他にその中でmanページが存在する場合、個々のmanページも分割されます視覚的に「名前」、「概要」、「説明」などの個別のヘッダーとサブヘッダーを使用します。

これらはまた「セクション」と呼ばれますが、これは上記の番号付きセクションとは明らかに異なる「セクション」という単語の使用法です。

答え2

昔、オンラインマニュアル(「印刷された」マニュアルではなく「オンライン」マニュアル)には8つのセクションがありましたが、後にさらにいくつか追加されました。これらのセクションは1、2、...、8なので、次のように入力します。

man -S 4 xyz

セクション 4 の xyz のマニュアル ページを取得します。

実際には、セクションを指定することは、複数のセクションに同じキーワードのマニュアル ページがある場合にのみ重要です。

例えば:

man printf

収穫

PRINTF(1)                                                         User Commands

NAME
       printf - format and print data

SYNOPSIS
       printf FORMAT [ARGUMENT]...
       printf OPTION

DESCRIPTION
       Print ARGUMENT(s) according to FORMAT, or execute according to OPTION
...

その間

man -S 3 printf

収穫

PRINTF(3)                                                   Linux Programmer's Manual

NAME
       printf, fprintf, dprintf, sprintf, snprintf, vprintf, vfprintf, vdprintf, vsprintf, vsnprintf - formatted output conversion

SYNOPSIS
       #include <stdio.h>

       int printf(const char *format, ...);
       int fprintf(FILE *stream, const char *format, ...);
       int dprintf(int fd, const char *format, ...);
       int sprintf(char *str, const char *format, ...);
       int snprintf(char *str, size_t size, const char *format, ...);
...

さまざまなセクションの概要を確認するには、 = 1,2,3,...man -S x introを試してください。x

次のような記述を時々見かけます。...fork(2)は新しいプロセスを作成するために使用されます。多くの場合、この後にexecl(3)...が続きます。これは、 のマニュアル ページがforkセクション 2 にあり、 のマニュアル ページがexeclセクション 3 にあることを示しています。

マニュアルページの短縮版/プレビューを表示するにはどうすればいいですか?

これが何を意味しているのか分かりません。PowerShellのmanようなものは提供されません。次のような非常に短い説明が表示されます。Get-Helpwhatis

whatis man
man                  (1)  - format and display the on-line manual pages
man                  (1p)  - display system documentation
man                  (7)  - macros to format man pages
man []               (1)  - format and display the on-line manual pages
man []               (1p)  - display system documentation
man []               (7)  - macros to format man pages
man []               (7)  - pages - conventions for writing Linux man pages
man-pages            (7)  - conventions for writing Linux man pages
man.conf []          (5)  - configuration data for man
man.conf [man]       (5)  - configuration data for man

答え3

-S 引数は、必要な機能を果たしません。これは、検索するマニュアル ページのカテゴリを指定するためのものです。

マニュアルページのセクションを自動的に表示する方法があるかどうかはわかりません。 grep/sed/awk などのツールを使用してマニュアルページを解析し、興味のあるテキストを抽出します。例:

man ls|grep -v -e '^$' -e '^[[:space:]]'

上記のコードは完全な解決策ではありません。まず、マニュアルページのヘッダーとフッターも印刷されます。要件を完全に満たすように変更したり、より優れた実装を考え出したりできると思います。

同様に、マニュアルページの「プレビュー」を取得する要求は、次のように簡単に実行できます。出力をパイプする人間を別のツールに変える。私はそのタスクのために。

答え4

[1.]

リストを期待していましたが、表示されるのは「どのマニュアル ページが必要ですか?」だけです。

-Sセクションのリストを表示するのには使用されず、代わりにセクションのリストを渡すように求められますご希望のセクションの検索順序例えば

xb@dnxb:/tmp$ man -S=7,6,5,4,3,2 ls
No manual entry for ls
See 'man 7 undocumented' for help when manual pages are not available.
xb@dnxb:/tmp$ 

上記は、-S=7,6,5,4,3,2セクションの検索順序がこのリストの左から右に始まることを示しています。マニュアルにlsセクション 7 が含まれている場合は、それが表示されます。含まれていない場合は、セクション 6 を検索しようとします。このリストの最後にセクションが存在しない場合は、「ls のマニュアル エントリがありません」と表示されます。セクション1が存在するにもかかわらずただし、リストのセクション 1 により、これが機能します。

xb@dnxb:/tmp$ man -S=7,6,5,4,3,2,1 ls
xb@dnxb:/tmp$ 

次の 2 つを試して、検索順序が-S左から右であることを証明してください。

xb@dnxb:/tmp$ man -S 1,1posix ls
xb@dnxb:/tmp$ man -S 1posix,1 ls
xb@dnxb:/tmp$ 

次のように指定せずに、正確なセクションを渡すこともできます-S

xb@dnxb:/tmp$ man 5 ls
No manual entry for ls in section 5
See 'man 7 undocumented' for help when manual pages are not available.
xb@dnxb:/tmp$ man 1posix ls
xb@dnxb:/tmp$

デフォルトの順序はここにあります (このファイル パスは で説明されていますman man)。検索順序は左から右へです。

xb@dnxb:/tmp$ \grep SECTION /etc/manpath.config
# the default is 1, n, l, 8, 3, 0, 2, 5, 4, 9, 6, 7. Multiple SECTION
SECTION         1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7
xb@dnxb:/tmp$ 

マニュアルページのセクションを表示するにはどうすればよいでしょうか? マニュアルページで提供されているセクションを確認するにはどうすればよいでしょうか?

apropos [-e]、、whatisまたは を使用しますman -k

xb@dnxb:/tmp$ apropos statvfs #OR man -k statvfs
fstatvfs (2)         - get filesystem statistics
fstatvfs (3)         - get filesystem statistics
fstatvfs (3posix)    - get file system information
statvfs (2)          - get filesystem statistics
statvfs (3)          - get filesystem statistics
statvfs (3posix)     - get file system information
statvfs.h (7posix)   - VFS File System information structure
sys_statvfs.h (7posix) - VFS File System information structure
xb@dnxb:/tmp$ apropos -e statvfs #OR whatis statvfs
statvfs (2)          - get filesystem statistics
statvfs (3)          - get filesystem statistics
statvfs (3posix)     - get file system information
xb@dnxb:/tmp$ 

[2.]

マニュアルページの短縮版/プレビューを表示するにはどうすればいいでしょうか?

私はいつも--helpマニュアルの短縮版を見るようにしています(免責事項: 完全に同等ではありません)。例:

xb@dnxb:/tmp$ mplayer --help
Usage:   mplayer [options] [url|path/]filename

Basic options: (complete list in the man page)
 -vo <drv>        select video output driver ('-vo help' for a list)
 -ao <drv>        select audio output driver ('-ao help' for a list)
 vcd://<trackno>  play (S)VCD (Super Video CD) track (raw device, no mount)
 dvd://<titleno>  play DVD title from device instead of plain file
 -alang/-slang    select DVD audio/subtitle language (by 2-char country code)
 -ss <position>   seek to given (seconds or hh:mm:ss) position
 -nosound         do not play sound
 -fs              fullscreen playback (or -vm, -zoom, details in the man page)
 -x <x> -y <y>    set display resolution (for use with -vm or -zoom)
 -sub <file>      specify subtitle file to use (also see -subfps, -subdelay)
 -playlist <file> specify playlist file
 -vid x -aid y    select video (x) and audio (y) stream to play
 -fps x -srate y  change video (x fps) and audio (y Hz) rate
 -pp <quality>    enable postprocessing filter (details in the man page)
 -framedrop       enable frame dropping (for slow machines)

Basic keys: (complete list in the man page, also check input.conf)
 <-  or  ->       seek backward/forward 10 seconds
 down or up       seek backward/forward  1 minute
 pgdown or pgup   seek backward/forward 10 minutes
 < or >           step backward/forward in playlist
 p or SPACE       pause movie (press any key to continue)
 q or ESC         stop playing and quit program
 + or -           adjust audio delay by +/- 0.1 second
 o                cycle OSD mode:  none / seekbar / seekbar + timer
 * or /           increase or decrease PCM volume
 x or z           adjust subtitle delay by +/- 0.1 second
 r or t           adjust subtitle position up/down, also see -vf expand

 * * * SEE THE MAN PAGE FOR DETAILS, FURTHER (ADVANCED) OPTIONS AND KEYS * * *

MPlayer 1.3.0 (Debian), built with gcc-5.4.0 (C) 2000-2016 MPlayer Team
xb@dnxb:/tmp$ 

関連情報