マニュアルページは、コマンドラインユーティリティを理解する上で最も役立つリソースの1つです。ただし、manページには、コマンドに関する多くの詳細が含まれています。コマンドラインツールが何をするのかをすぐに知りたい場合があります-小さな行にあるかもしれません-。そうですね、この目的のために特別に構築されたコマンドが存在することを知って喜ぶでしょう。
このチュートリアルでは、 whatisの基本について説明します。 わかりやすい例を使用したコマンド。ただし、その前に、ここでのすべての例がUbuntu18.04LTSおよびDebian10マシンでテストされていることを言及する価値があります。
Linuxwhatisコマンド
Linuxのwhatisコマンドを使用すると、1行のマニュアルページの説明を表示できます。その構文は次のとおりです。
whatis [-dlv?V] [-r|-w] [-s list] [-m system[,...]] [-M path] [-L
locale] [-C file] name ...
そして、ツールのマニュアルページで説明されているのは次のとおりです。
Each manual page has a short description available within it. whatis
searches the manual page names and displays the manual page descrip?
tions of any name matched.
name may contain wildcards (-w) or be a regular expression (-r). Using
these options, it may be necessary to quote the name or escape (\) the
special characters to stop the shell from interpreting them.
以下は、whatisコマンドがどのように機能するかについてのより良いアイデアを提供するQ&Aスタイルの例です。
Q1。 whatisコマンドの使用方法は?
基本的な使い方はとても簡単です。ツール名を入力として渡すだけで、whatisはそのツールの1行の説明を検索して表示します。
次に例を示します:
whatis ls
次の出力は、前述のコマンドによって生成されました。
ls (1) - list directory contents
Q2。複数のコマンドの情報を取得するにはどうすればよいですか?
これも非常に簡単です。ツール名をwhatisへの入力として渡すだけです。次に例を示します。
whatis ls cp rm mv
そして、これがこのコマンドによって生成された出力です:
ls (1) - list directory contents
cp (1) - copy files and directories
rm (1) - remove files or directories
mv (1) - move (rename) files
したがって、whatisコマンドが複数の入力を簡単に処理することがわかります。
Q3。 whatisでワイルドカードを使用できますか?
はい、whatisコマンドでワイルドカードを使用することは可能です。 -wコマンドラインオプションを使用すると、この機能が有効になります。
これが例です;
whatis -w 'who*'
そして、以下は出力です:
who (1) - show who is logged on
whoami (1) - print effective userid
Q4。 whatisがデバッグ情報を生成するようにするにはどうすればよいですか?
-dオプションを使用すると、whatisコマンドでデバッグ情報が出力に生成されます。言うまでもなく、このオプションは主に開発者向けです。
次に例を示します:
whatis -d ls
そして、以下はこのコマンドによって生成された出力です:
From the config file /etc/manpath.config:
Mandatory mandir `/usr/man'.
Mandatory mandir `/usr/share/man'.
Mandatory mandir `/usr/local/share/man'.
Path `/bin' mapped to mandir `/usr/share/man'.
Path `/usr/bin' mapped to mandir `/usr/share/man'.
Path `/sbin' mapped to mandir `/usr/share/man'.
Path `/usr/sbin' mapped to mandir `/usr/share/man'.
Path `/usr/local/bin' mapped to mandir `/usr/local/man'.
Path `/usr/local/bin' mapped to mandir `/usr/local/share/man'.
Path `/usr/local/sbin' mapped to mandir `/usr/local/man'.
Path `/usr/local/sbin' mapped to mandir `/usr/local/share/man'.
Path `/usr/X11R6/bin' mapped to mandir `/usr/X11R6/man'.
Path `/usr/bin/X11' mapped to mandir `/usr/X11R6/man'.
Path `/usr/games' mapped to mandir `/usr/share/man'.
Path `/opt/bin' mapped to mandir `/opt/man'.
Path `/opt/sbin' mapped to mandir `/opt/man'.
Global mandir `/usr/man', catdir `/var/cache/man/fsstnd'.
Global mandir `/usr/share/man', catdir `/var/cache/man'.
Global mandir `/usr/local/man', catdir `/var/cache/man/oldlocal'.
Global mandir `/usr/local/share/man', catdir `/var/cache/man/local'.
Global mandir `/usr/X11R6/man', catdir `/var/cache/man/X11R6'.
Global mandir `/opt/man', catdir `/var/cache/man/opt'.
Added section `1'.
Added section `n'.
Added section `l'.
Added section `8'.
Added section `3'.
Added section `2'.
Added section `3posix'.
Added section `3pm'.
Added section `3perl'.
Added section `3am'.
Added section `5'.
Added section `4'.
Added section `9'.
Added section `6'.
Added section `7'.
`/usr/man' `' `1'
`/usr/share/man' `' `1'
`/usr/local/share/man' `' `1'
`/bin' `/usr/share/man' `0'
`/usr/bin' `/usr/share/man' `0'
`/sbin' `/usr/share/man' `0'
`/usr/sbin' `/usr/share/man' `0'
`/usr/local/bin' `/usr/local/man' `0'
`/usr/local/bin' `/usr/local/share/man' `0'
`/usr/local/sbin' `/usr/local/man' `0'
`/usr/local/sbin' `/usr/local/share/man' `0'
`/usr/X11R6/bin' `/usr/X11R6/man' `0'
`/usr/bin/X11' `/usr/X11R6/man' `0'
`/usr/games' `/usr/share/man' `0'
`/opt/bin' `/opt/man' `0'
`/opt/sbin' `/opt/man' `0'
`/usr/man' `/var/cache/man/fsstnd' `-1'
`/usr/share/man' `/var/cache/man' `-1'
`/usr/local/man' `/var/cache/man/oldlocal' `-1'
`/usr/local/share/man' `/var/cache/man/local' `-1'
`/usr/X11R6/man' `/var/cache/man/X11R6' `-1'
`/opt/man' `/var/cache/man/opt' `-1'
`1' `' `-5'
`n' `' `-5'
`l' `' `-5'
`8' `' `-5'
`3' `' `-5'
`2' `' `-5'
`3posix' `' `-5'
`3pm' `' `-5'
`3perl' `' `-5'
`3am' `' `-5'
`5' `' `-5'
`4' `' `-5'
`9' `' `-5'
`6' `' `-5'
`7' `' `-5'
path directory /usr/local/sbin is in the config file
adding /usr/local/man to manpath
adding /usr/local/share/man to manpath
path directory /usr/local/bin is in the config file
/usr/local/man is already in the manpath
/usr/local/share/man is already in the manpath
path directory /usr/sbin is in the config file
adding /usr/share/man to manpath
path directory /usr/bin is in the config file
/usr/share/man is already in the manpath
path directory /sbin is in the config file
/usr/share/man is already in the manpath
path directory /bin is in the config file
/usr/share/man is already in the manpath
path directory /usr/games is in the config file
/usr/share/man is already in the manpath
path directory /usr/local/games is not in the config file
but does have a ../man, man, ../share/man, or share/man subdirectory
/usr/local/man is already in the manpath
path directory /snap/bin is not in the config file
and doesn't have ../man, man, ../share/man, or share/man subdirectories
adding mandatory man directories
warning: /usr/man: No such file or directory
/usr/share/man is already in the manpath
/usr/local/share/man is already in the manpath
add_nls_manpaths(): processing /usr/local/man:/usr/local/share/man:/usr/share/man
checking for locale en_IN
adding /usr/local/man to manpathlist
adding /usr/local/share/man to manpathlist
adding /usr/share/man to manpathlist
adding /usr/local/man to manpathlist
adding /usr/local/share/man to manpathlist
adding /usr/share/man to manpathlist
Removing duplicate manpath entry /usr/local/share/man (1) -> /usr/local/man (0)
Removing duplicate manpath entry /usr/local/man (2) -> /usr/local/man (0)
Removing duplicate manpath entry /usr/local/share/man (2) -> /usr/local/man (0)
Removing duplicate manpath entry /usr/share/man (2) -> /usr/share/man (1)
final search path = /usr/local/man:/usr/share/man
path=/usr/local/man
warning: can't read the fallback whatis text database /usr/local/man/whatis
path=/usr/share/man
name: ls
sec. ext: 1
section: 1
comp. ext: gz
id: A
mtime: 1516268629.000000000
pointer: -
filter: -
whatis: list directory contents
ls (1) - list directory contents
hashtable_free: 1 entries, 1 (100%) unique
Q5。検索はどのように実行されますか?
マニュアルページからの関連する抜粋は次のとおりです。
index databases are used during the search, and are updated by the
mandb program. Depending on your installation, this may be run by a
periodic cron job, or may need to be run manually after new manual
pages have been installed. To produce an old style text whatis data?
base from the relative index database, issue the command:
whatis -M manpath -w '*' | sort > manpath/whatis
where manpath is a manual page hierarchy such as /usr/man.
Linuxコマンドラインツールに夢中になっている場合、または日常業務にマニュアルページの処理が含まれている場合は、whatisコマンドが役立つツールになる可能性があります。ここでは、whatisコマンドラインオプションについてすでに説明しました。詳細については、ツールのマニュアルページにアクセスしてください。