Linuxのhelpコマンドを徹底解説!Bash組み込みコマンドの使い方と活用法
生徒
「Linuxのコマンドって種類が多くて、使い方がわからなくなったときに困るんですよね。何か調べる方法はありますか?」
先生
「それならhelpコマンド(ヘルプ)を使ってみましょう。Bash(バッシュ)というシェルに組み込まれている命令の使い方をすぐに確認できますよ。」
生徒
「ヘルプを見れば、わざわざインターネットで検索しなくても使い方がわかるんですか?」
先生
「その通りです!ターミナル(黒い画面)上で完結するので効率的ですし、正確な情報を得られます。まずは基本から一緒に見ていきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. helpコマンドとは?
helpコマンド、読み方はhelp(ヘルプ)は、Linux(リナックス)の標準的なシェルであるBash(バッシュ)において、シェル組み込みコマンドの情報を表示するためのコマンドです。コマンドのオプションや引数の指定方法など、公式のマニュアルを簡易的に表示してくれる機能を持っています。
Windows(ウィンドウズ)やMac(マック)でいうところの「操作ガイド」や「取扱説明書」のような役割を果たします。プログラミングやサーバー構築の現場では、全てのコマンドを暗記するのは不可能に近いため、このhelpコマンドを使いこなしてその場で調べるスキルが非常に重要視されます。
特に「組み込みコマンド」と呼ばれる、シェル自体が持っている機能(cdやpwdなど)を調べる際に最も威力を発揮します。
2. シェル組み込みコマンドと外部コマンドの違い
Linuxのコマンドには、大きく分けて「シェル組み込みコマンド」と「外部コマンド」の2種類が存在します。ここを理解していないと、helpコマンドが使えない場面で戸惑うことになります。
- シェル組み込みコマンド(ビルトインコマンド): Bash(バッシュ)などのシェル自体に内蔵されている命令です。例:
cd,echo,pwd,exitなど。 - 外部コマンド:
/binや/usr/binなどのディレクトリに独立した実行ファイルとして存在している命令です。例:ls,mkdir,grepなど。
helpコマンドは、主に前者の「組み込みコマンド」のために用意されています。外部コマンドの使い方を知りたいときは、man(マン)コマンドや --help オプションを使い分けるのがLinuxの基本ルールです。この「使い分け」ができるようになると、初心者脱出の一歩となります。
3. helpコマンドの基本的な使い方
使い方は非常にシンプルです。help と入力した後に、調べたい組み込みコマンド名を入力するだけです。まずは、現在地を確認する pwd コマンド、読み方はpwd(ピーダブリューディー)について調べてみましょう。
help pwd
pwd: pwd [-LP]
Print the current working directory.
Options:
-L use PWD from environment, even if it contains symlinks
-P avoid all symlinks
Exit Status:
Returns 0 unless an invalid option is given or the current directory
cannot be read.
実行すると、そのコマンドがどのような役割を持ち、どのようなオプション(設定)が使えるのかが表示されます。英語で表示されることが多いですが、基本構造は「構文」「説明」「オプション一覧」となっているので、慣れてしまえば読むのは難しくありません。
4. 利用可能な組み込みコマンド一覧を表示する
「そもそも、どのコマンドが組み込みコマンドなのかわからない」という場合も安心してください。引数を何も指定せずに help だけを実行すると、現在使用しているシェルで利用可能な組み込みコマンドの一覧がずらりと表示されます。これは、Bash(バッシュ)が持っている全ての「隠し武器」を眺めるようなものです。
help
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.
job_spec [&] history [-c] [-d offset] [n] or ...
(( expression )) if COMMANDS; then COMMANDS; [ el...
. filename [arguments] let arg [arg ...]
: local [option] name[=value] ...
[ arg... ] logout [n]
alias [-p] [name[=value] ... ] mapfile [-d delim] [-n count] [-...
bg [job_spec ...] popd [-n] [+N | -N]
bind [-lpsvPSVX] [-m keymap] [-f fi... printf [-v var] format [argumen...
break [n] pushd [-n] [+N | -N] [dir]
builtin [shell-builtin [arg ...]] pwd [-LP]
caller [expr] read [-ers] [-a array] [-d delim...
case WORD in [PATTERN [| PATTERN]... readarray [-d delim] [-n count] ...
cd [-L|[-P [-e]] [-@]] [dir] readonly [-aAf] [name[=value] .....
これを見ることで、自分がよく使っているコマンドが実はシェルの一部であったことに気づくはずです。例えば cd や history もこのリストの中に含まれていますね。
5. 短い要約だけを表示する -dオプション
コマンドの詳細な説明は不要で、とりあえず「そのコマンドが一言で何をするものか」だけを知りたいときがあります。そんなときは -d オプションを使います。dはdescription(ディスクリプション)、読み方はdescription(ディスクリプション)の略です。
ここでは、文字を出力する echo コマンド、読み方はecho(エコー)を調べてみましょう。
help -d echo
echo - Write arguments to the standard output.
「引数を標準出力に書き出す」という非常に簡潔な説明が返ってきました。初心者の方が全体像を素早く把握したいときには、この -d オプションが非常に便利です。無駄な情報を削ぎ落として、本質だけを理解することができます。
6. 使い方(構文)のみを表示する -sオプション
オプションの書き方や並び順だけを確認したいときは、 -s オプションが役立ちます。sはshort(ショート)、読み方はshort(ショート)の略で、説明文を省いて「コマンドの書式」だけを出力します。
条件分岐でよく使われる if 、読み方はif(イフ)について確認してみましょう。
help -s if
if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
プログラミング(シェルスクリプト)を書いている最中に、「if文のあとにセミコロンが必要だったかな?」「最後にfiをつけるのを忘れていないかな?」と不安になったときに、この -s オプションを使えば一瞬で正解にたどり着けます。リファレンスをめくる手間が省けるため、作業効率が格段にアップします。
7. manコマンドとの使い分け
Linuxには、より詳細なオンラインマニュアルを表示する man コマンド、読み方はman(マン)という強力なコマンドも存在します。では、help と man はどう使い分ければ良いのでしょうか?
結論から言うと、「動かないときはまずhelp、それでもわからなければman」 という流れがおすすめです。
- help: 動作が軽く、シェルの内部機能を調べるのに適している。記述が簡潔。
- man: 外部コマンドを含むほぼ全てのコマンドの詳細が載っている。非常に長文。
例えば、ファイル一覧を表示する ls コマンドに対して help ls と打っても、「そんなコマンドはありません」と怒られてしまいます。ls は外部コマンドだからです。そのような場合は man ls を実行します。このように、ツールの特性を理解して使い分けるのがLinuxマスターへの近道です。
8. 実際にhelpを使って学んでみよう
それでは、最後に少し応用編として、変数を宣言する declare コマンド、読み方はdeclare(デクレア)を help で調べてみましょう。これはシェルスクリプトでよく使われる組み込みコマンドです。
help declare
declare: declare [-aAfFgilnrtux] [-p] [name[=value] ...]
Set variable values and attributes.
Declare variables and give them attributes. If no NAMEs are given,
display the attributes and values of all variables.
Options:
-a to make NAMEs indexed arrays (if supported)
-A to make NAMEs associative arrays (if supported)
-i to make NAMEs have the `integer' attribute
-r to make NAMEs readonly
-x to make NAMEs export
(一部省略)
このように help を活用することで、そのコマンドが「配列(Array)を扱えるのか(-a)」や「読み取り専用(Readonly)にできるのか(-r)」といった、一歩進んだ使い方も自力で見つけることができます。マニュアルを自分で読み解く力がつくことで、学習スピードは加速度的に速くなります。
9. ヘルプ機能の歴史と豆知識
この help コマンドの歴史を少し紐解くと、UNIX(ユニックス)の時代から続く「自己文書化」という思想に基づいています。昔のコンピュータは現代のようにインターネットが常時接続されていなかったため、システムの中に自分自身の説明書を内蔵させておく必要がありました。その伝統が、現代のLinuxやBashにも色濃く受け継がれているのです。
また、zsh(ゼットシェル)などの他のシェルでも同様の機能がありますが、Bashの help は特に親切に作られていると言われています。初心者の方がLinuxを学ぶ際にBashが推奨される理由の一つは、こうした「助けてくれる機能」が充実しているからでもあります。ターミナルの向こう側には、常にあなたをサポートする仕組みが用意されているのです。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
Linux(リナックス)の操作において、コマンドの使い方がわからなくなった際に最も頼りになるのがhelp(ヘルプ)コマンドです。この記事では、Bash(バッシュ)というシェルに標準で組み込まれている「シェル組み込みコマンド」の情報を素早く引き出す方法を詳しく解説してきました。
大きなポイントとして、Linuxのコマンドには「シェル組み込みコマンド」と「外部コマンド」の2種類があり、helpコマンドは主に組み込みコマンド(cd, pwd, echo, exitなど)を対象としていることを学びました。外部コマンド(ls, mkdirなど)を調べたい場合には、manコマンドや--helpオプションを使い分けるのが、エンジニアとしての正しい作法です。
helpコマンドの活用テクニック
効率的な学習と作業のために、以下のオプションを使いこなせるようになりましょう。
- help [コマンド名]: 詳細な説明とオプション一覧を表示。
- help -d [コマンド名]: そのコマンドが何をするものか、短い要約(ディスクリプション)のみを表示。
- help -s [コマンド名]: コマンドの構文(ショート形式)のみを表示し、書き方を確認。
実践的なサンプル:helpを組み合わせて使う
例えば、シェルスクリプトでよく使われる「読み取り専用の変数」を定義したい場合、declareコマンドのヘルプを見て、適切なオプションを探すことができます。
# declareコマンドのヘルプを確認して、読み取り専用(-r)オプションを見つける
help declare | grep "readonly"
# 実際に読み取り専用の変数を定義してみる
declare -r MY_APP_NAME="LinuxLearningApp"
# 上書きしようとするとエラーになることを確認
MY_APP_NAME="NewName"
# 実行結果: bash: MY_APP_NAME: readonly variable
このように、helpで得た知識をその場ですぐに試すことで、記憶に定着しやすくなります。IT業界やプログラミングの世界では、情報を「知っている」ことよりも「調べ方を知っている」ことの方が価値が高い場面が多くあります。コマンドライン上で自己解決できる能力を高め、Linuxマスターへの道を一歩ずつ進んでいきましょう。
生徒
「先生、ありがとうございました!helpコマンドを使えば、ブラウザを開いて検索しなくても、ターミナルの中だけでコマンドの使い方がわかるんですね。特に-dオプションで短く要約を表示させるのが、初心者には一番分かりやすかったです。」
先生
「その通りです。検索エンジンで調べるのも良いですが、ネット上の記事は情報が古くなっていることもあります。その点、システムに内蔵されているhelpは、今動かしているBashのバージョンに最適な情報を提供してくれるので非常に正確なんですよ。」
生徒
「なるほど。正確な一次情報に触れる習慣をつけるのが大事なんですね。でも、help lsと打っても説明が出てこなかったときは少し焦りました(笑)」
先生
「ははは、それは良い経験をしましたね。lsは外部コマンドなのでman lsを使う必要があるというルールを、身をもって理解できた証拠です。組み込みコマンドか外部コマンドかを判断するのに迷ったら、typeコマンドを使ってtype lsやtype cdと打ってみるのもおすすめですよ。それもBashの仕組みを知る助けになります。」
生徒
「typeコマンドですね、覚えておきます!これからはエラーが出たり書き方を忘れたりしても、まずは自力でhelpを引いてみるようにします。自分で解決できると、Linuxを操作するのがもっと楽しくなりそうです!」