エンジニア諸兄姉は日頃常々シェルを用いてコンピュータの操作を行っていると思いますが、いかがでしょうか。
えぇ、もちろんその通りでしょう。
もしコマンド操作している際に、分からないコマンドがあった場合どうしていますか?
え?Googleで調べている?
バカヤローーーー!!!(申し訳ございません)
分からないコマンドはman
とapropos
を使って調べていきましょう。
#📕man
how to use
$ man KEYWORD
manとは、皆さんご存知の通りキーワードに指定した語句のマニュアル(MANual)を表示するコマンドです。
それではmanコマンドについてよく見ていきましょう。manコマンドのmanを開いてください。
通常はlessで表示されます。lessとは何かって? man less
$ man man
NAME
man - format and display the on-line manual pages
SYNOPSIS
man [-acdfFhkKtwW] [--path] [-m system] [-p string] [-C config_file]
[-M pathlist] [-P pager] [-B browser] [-H htmlpager] [-S section_list]
[section] name ...
DESCRIPTION
man formats and displays the on-line manual pages. If you specify sec-
tion, man only looks in that section of the manual. name is normally
the name of the manual page, which is typically the name of a command,
function, or file. However, if name contains a slash (/) then man
interprets it as a file specification, so that you can do man ./foo.5
or even man /cd/foo/bar.1.gz.
See below for a description of where man looks for the manual page
files.
...
DESCRIPTIONに書いてある通り、manコマンドはコマンドのマニュアルだけでなく、関数やファイルについても見ることができ、セクションを指定するとそのセクション内で調べていきます。セクション毎の対応は以下のようになっています。
セクション番号 | 表示する項目 |
---|---|
1 | Linuxコマンド |
2 | カーネル関数 |
3 | システム関数 |
4 | スペシャルファイル |
5 | フォーマット |
6 | プレインストールされたゲーム等 |
7 | マクロ |
8 | システム管理コマンド |
9 | カーネルルーチン |
セクション番号はキーワードの前に指定します。
manにはオプションも豊富に存在するので是非manのマニュアルを見てみてください。
#🔎apropos
how to use
$ apropos KEYWORD
aproposは、キーワードを部分一致検索で索引データベースから検索し、短い説明を表示するコマンドです。
要は、
A「あれ〜あのコマンドなんだっけ・・検索するやつ・・・ap・・apr・・・・?そんな感じだよなぁ〜」
って時に使えます。
こちらも、通常はlessで表示されます。
$ apropos apr
apropos(1) - search the whatis database for strings
ldap.conf(5), .ldaprc(5) - LDAP configuration file/environment variables
おー出てきましたね!A君が探してたコマンドは見つかったようですね
ちょっとちょっと、そんな説明でいいんですか?!
これじゃaproposの便利さは伝わりませんね。
そうですaproposはもっとすごいんです。
apropos
というコマンドは、何をしますか?
検索、searchですね。そうです。
ではapropos search
を実行してみましょう。
$ apropos search
どうなりました?aproposの項目がありますね?
その他にfindやgrepなど・・
how to useを見てください。aproposの引数は何もコマンドじゃないんです。
目的の動作を入力しても、それを満たすコマンドを表示してくれるんです。
これが、aporposの凄さです
が、普段からCLIを使っている皆さんにとっては当たり前のことでしたね。(^○^)
#📘info(追記)
how to use
$ info
infoコマンドを入力するとinfoページが表示されます。こちらはmanと違いemacsライクな画面で表示されますが、psを見るとinfoと表示されています。(manやaproposはless)
ただしemacs互換なので操作方法は変わりません。
manとの違いといえば、infoコマンドはGNU由来なので、比較的新しくGNUプログラム版manのようなものです。
表示されるメニューから、アスタリスクが書いてある行が別ページへのリンクになっています。ただし用語としてはページではなくノードと呼びます。(実はinfoコマンドはそこまで使わないのでよくわからない)
info COMMAND
とすることで、その関連ノードを直接開くこともできるらしいです!曖昧な説明で申し訳ないです!もし詳しい方、なにか間違いに気がついたらご報告お願いしますm(_ _)m
#おまけ
aproposの他のwhatisというコマンドもあります。基本aproposと変わりませんが、こちらは完全一致検索となっており、aproposほど強力ではないので除外しました。