man/info/--help を使い分ける - 公式情報の引き方
この記事で解決できること
リナ: ターミナルでコマンドを打ってたら「あれ、このオプション何だっけ?」ってなって、毎回ネット検索してるんですよね...
ライニー先輩: 実はコマンドライン上で公式情報をすぐ調べられるんだよ。
--help・man・info の3つを覚えると、たいていのことは自力で解決できるよ。この記事では次の3つを学べる。
--help・man・infoの 違いと使い分け が分かるmanページの キー操作と検索方法 が身につく- コマンド名が思い出せないときの 探し方 が分かる
まずこれだけ覚えよう
- サッと確認したい →
コマンド --help - 詳しく読みたい →
man コマンド - コマンド名を探したい →
man -k キーワード
1. --help: 一番手軽な確認方法
リナ: まず何から試せばいいの?
ライニー先輩: まずは
--help をつけるだけでいいよ。ほぼ全てのコマンドで使えて、すぐ結果が出る。使い方
ls --help
Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. -l use a long listing format ...(以下省略)
出力が画面に収まらないときは less と組み合わせよう。
ls --help | less
q キーで終了できる。
-h で同じ結果が出るコマンドもある(例: curl -h)。どちらか試してみよう。
--help の特徴
| 項目 | 内容 |
|---|---|
| 速さ | すぐ表示 |
| 情報量 | 簡潔(オプション一覧) |
| 対応コマンド | ほぼ全て |
| 主な用途 | オプション名・書式の確認 |
2. man: 公式マニュアルを読む
リナ:
--help より詳しい情報が知りたいときは?ライニー先輩: そのときは
man コマンドだよ。Manual の略で、各コマンドの完全な仕様書が読める。使い方
man ls
less と同じキー操作でページを読み進められる。
キー操作一覧
| キー | 動作 |
|---|---|
スペース / f |
次のページ |
b |
前のページ |
q |
終了 |
/キーワード |
キーワードで検索(例: /recursive) |
n |
次の検索結果 |
N |
前の検索結果 |
g |
先頭へ移動 |
G |
末尾へ移動 |
/ による検索が一番便利。man chmod を開いて /octal と打つと、数値指定の説明にジャンプできる。
manページの構成
manページは決まったセクション構成になっている。
| セクション | 内容 |
|---|---|
| NAME | コマンド名と一行説明 |
| SYNOPSIS | 書式(使い方の雛形) |
| DESCRIPTION | 詳細説明 |
| OPTIONS | 全オプションの説明 |
| EXAMPLES | 使用例(記載があるとき) |
| SEE ALSO | 関連コマンド |
リナ: SYNOPSIS の
[OPTION]... とか [FILE]... って記号の意味がわからなくて...ライニー先輩:
[] は「省略してもOK」という意味で、... は「複数指定できる」という意味だよ。ls [OPTION]... [FILE]... は「オプションもファイルも 0 個以上指定できる」ということ。セクション番号を指定する
同じ名前でコマンドと設定ファイルの両方にマニュアルがある場合、番号で区別できる。
man 1 passwd # passwd コマンドのマニュアル man 5 passwd # /etc/passwd ファイルのマニュアル
よく使うセクション番号:
| 番号 | 内容 |
|---|---|
| 1 | ユーザーコマンド(通常使うもの) |
| 5 | 設定ファイルの書式 |
| 8 | システム管理コマンド |
3. man -k: コマンド名を探す
リナ: コマンド名が思い出せないときはどうするの?
ライニー先輩:
man -k キーワード で探せるよ。やりたいことに関連する英単語で検索すると、候補が一覧で出てくる。man -k compress
bzip2 (1) - a block-sorting file compressor, v1.0.8 compress (1) - compress and expand data gzip (1) - compress or expand files xz (1) - Compress or decompress .xz and .lzma files zip (1) - package and compress (archive) files
man -k は apropos コマンドと同じ動作。どちらを使っても同じ結果が出る。
初回実行時に「nothing appropriate」と出たら、まず sudo mandb でデータベースを更新しよう。
4. info: GNU ツールの詳細情報
リナ:
man があれば info は使わなくていい?ライニー先輩: GNU プロジェクトのツール(grep / awk / find など)は
info の方が詳しい場合があるんだ。man は概要、info は詳細な解説書というイメージかな。使い方
info grep
キー操作
| キー | 動作 |
|---|---|
| スペース | 次のページ |
b |
前のページ |
q |
終了 |
n |
次のノード(章)へ |
p |
前のノード(章)へ |
u |
上位ノード(目次)へ |
| Enter | リンクをたどる |
info がインストールされていない環境では man が代わりに表示されることがある。Ubuntu では sudo apt install info でインストールできる。
5. 練習してみよう
リナ: 習ったことを実際に試してみたい!
ライニー先輩: じゃあ次の問題をターミナルで試してみよう。
問題1: cp コマンドのオプション一覧を手軽に確認してみよう。
ヒントを見る
cp --help を実行すると、オプション一覧が表示される。
問題2: chmod のマニュアルを開いて、octal で検索してみよう。
ヒントを見る
man chmodでマニュアルを開く/octalと入力して Enter- 数値(8進数)による権限指定の説明にジャンプできる
qで終了
問題3: man -k を使ってファイルの所有者を変更するコマンドを探してみよう。
ヒントを見る
man -k owner または man -k ownership を実行すると chown などが見つかる。
6. 使い分けのまとめ
リナ: 3つあって最初は混乱したけど、使い方がだいぶわかってきた!
ライニー先輩: よかった。最初は
--help と man だけ覚えておけば十分だよ。man -k と info は必要になったときに思い出してね。| やりたいこと | 使うもの |
|---|---|
| オプション名をサッと確認 | コマンド --help |
| コマンドの詳細な仕様を読む | man コマンド |
| コマンド名が思い出せない | man -k キーワード |
| GNU ツール(grep / awk)の詳細 | info コマンド |
よくある場面と対応
ls -laのオプションを確認 →ls --helpchmodの数値の意味を調べる →man chmod- ファイル圧縮コマンドを探す →
man -k compress awkの詳しい使い方 →info awk