17
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ロストテクノロジーAdvent Calendar 2018

Day 20

Googleに淘汰されたコマンド~manとapropos~

Last updated at Posted at 2018-12-20

エンジニア諸兄姉は日頃常々シェルを用いてコンピュータの操作を行っていると思いますが、いかがでしょうか。
えぇ、もちろんその通りでしょう。
もしコマンド操作している際に、分からないコマンドがあった場合どうしていますか?
え?Googleで調べている?

バカヤローーーー!!!(申し訳ございません)

分からないコマンドはmanaproposを使って調べていきましょう。

#📕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ほど強力ではないので除外しました。

17
6
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?