組み込みコマンド
コマンドだよ
シェルに組み込まれているやつだよ
簡単に書くよ
組み込みコマンド(読:クミコミコマンド 英:built-in command)とは
「ビルトインコマンド」のこと。
用語の中身としては
シェル(人間様からの入力をコンピュータさんに伝えるプログラム)の中に最初から組み込まれているコマンド(コンピュータに対する命令)のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「コマンド」と「シェル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
コマンドは「コンピュータさんに対する命令(命令文)」です。
コマンドをポチポチ打ち込むと、その内容に従って、コンピュータさんは動いてくれます。
シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。
コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。
ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。
あなたがパソコンの中身と直接やり取りをすることは、ありません。
あなたがやり取りする相手はシェルです。
シェルがあなたの代わりにパソコンの中身とやり取りしてくれます。
シェルの詳細は用語「シェル」の説明をご覧ください。
以上を踏まえて
シェルに最初から組み込まれているコマンド
が「組み込みコマンド」です。
受付のおねーさんの副業みたいなものです。
「ビルトインコマンド」とも呼ばれます……というか個人的には「ビルトインコマンド」という言い方の方が馴染みがあります。
例えば、そうですね。
人間様が「ロケットパンチを打て!」というコマンドを入力しました。
そのコマンドをシェルは中継します。
ロケットパンチを打つのがお仕事のプログラムに「ねぇねぇ、人間からロケットパンチを打て!って命令されたよ~」と伝えるのです。
あとはロケットパンチを打つのがお仕事のプログラムが実際にロケットパンチを発射します。
これが普通のコマンドの場合です。
ロケットパンチを打つのは「ロケットパンチを打つのがお仕事のプログラム」です。
もしコンピュータの中にロケットパンチを打つのがお仕事のプログラムがいなかったらロケットパンチは発射されません。
次に人間様が「空を飛べ!」というコマンドを入力したとしましょう。
そのコマンドをシェルは中継……しようと思ったのですが、実はこのシェル、副業で「空を飛ばすお仕事」もやっていました。
それなら話は簡単ですね。
どこかに中継する必要はありません。
シェル自身が、そのお仕事をします。
このような
シェル自身がその仕事をやれるので他のプログラムに中継する必要がないコマンド
が組み込みコマンドです。
次に少しだけ専門的な話をします。
よく分からない人は読み飛ばしてください。
UNIX系のOS(Linuxとか)には「which」コマンドというコマンドがあります。
「which」コマンドは「実際にお仕事をするプログラムは誰?」を探すコマンドです。
例えば
which more
と入力したとしましょう。
そうすると
/bin/more
のような結果が表示されます。
これは「『more』ってコマンドを入力したら、誰がそのお仕事をするの?」という質問に対して「『/bin/more』が、お仕事するよ」と返事がきた状態です。
つまり「more」コマンドを実行すると、その命令を受け取ったシェルは「more」コマンドの本体である「/bin/more」に中継するわけです。
次に
which cd
と入力してみます。
「『cd』ってコマンドを入力したら、どいつが、お仕事するの?」と質問してみました。
この答えは
cd: shell built-in command.
のようになります。
「cd」というコマンドはビルトインコマンド(=組み込みコマンド)だと言っていますね。
ということは「cd」というコマンドを入力すると他の人に中継しないでシェルさん自身がお仕事をしてくれます。
「which」コマンドを実行することで「これって組み込みコマンドかな?」を確認できたりします。
気が向いたら、試してみてください。
一言でまとめるよ
まぁ「組み込みコマンド」って単語が出てきたら「シェル(人間様からの入力をコンピュータさんに伝えるプログラム)に組み込まれているコマンド(コンピュータに対する命令)なんだな~」と、お考えください。
おまけ
■訳してみるよ
「組み込み」は日本語ですね。
「command(コマンド)」の意味は「命令する」とか「指揮する」とかです。
何となくくっつけると
組み込みの命令
となります。
■検索してみる?