Subject: What does {some strange unix command name} stand for?
Date: Thu Mar 18 17:16:55 EST 1993

1.3) UNIX のコマンドには変わった名前のものがありますが、どういう意味あいで 名付けられたのでしょうか。

awk = "Aho Weinberger and Kernighan"
この処理系は、その作者達の名前、Al Aho、Peter Weinberger、そして Brian Kernighan にちなんで名付けられました。

grep = "Global regular Expression Print"
grep は、ed コマンドで、指定した文字列に一致した行ををすべて表示させ る時の指定方法から、連想されたものです。

g/re/p
ここで、"re" は、正規表現を表しています。

fgrep = "Fixed GREP"
fgrep は、長さが決まっている文字列を検索します。"f" は "fast" という 意味ではありません。事実、"fgrep footbar *c" の速さは、普通、"egrep footbar *.c" の速さより遅いのです (まあ、これには驚きますね。試して みてください)。

でも、fgrep には、それなりの使い道があって、egrep では処理できなよう な長さの文字列を検索する場合に便利かもしれません。

egrep = "Extended GREP"
egrep は、grep よりも変わった正規表現を使用します。このコマンドで使っ ている内部アルゴリズムは grep や fgrep のものより凝っているので、たく さんの人が、いつも egrep を使いますが、事実、たいていの場合、この3つ のうちで、いちばん処理速度がはやいのです。

cat = "CATenate"
catenate という言葉は "ひとならびに連結する" という意味のわかりにくい 言葉ですが、これこそ、まさに "cat" が、1つあるいは複数のファイルに 対して行う操作を言い表しています。C/A/T という、コンピュータを使った 植字機がありますが、これと混同しないでください。

gecos = "General Electric Comprehensive Operating System"
ゼネラルエレクトリック社の大型システムの部門がハネウエル社に売却され たとき、ハネウエル社が、"GECOS" の "E" をとり除きました。

UNIX のパスワードファイルには、 "pw_gecos" というフィールドがあります が、この名前は UNIX ができて間もない頃から残っているもので、Dennis Ritchie は、このように言っています。

私達はときどき、GCOS のマシンにプリンタの出力要求やバッチジョブを 送ります。パスワードファイルの gcos フィールドは、身分証明書に書か れる情報を書いておく場所だったのです。格好よくないやり方ですね。

nroff = "New ROFF" troff = "Typesetter new ROFF"
これらは、Multics で、ドキュメントを体裁よく印刷するために使われてい た "run off" を UNIX に実装しなおしたもので "roff" の子孫です。

tee = T
T 字型にパイプ機能を行うものだということをそのまま表した言葉です。

 

bss = "Block Started by Symbol"
Dennis Ritchie は、次のように言っています。

実は、この単語の頭文字を並べた言葉は (これには他の信用できる語源も あるかもしれませんが、私達がとりあげた意味あいでは)、"記号で始まる ブロック" にあたります。これは IBM の 704、709、7090、7094 等のマ シンで使われるアセンブラである FAP つまり、Fortran アセンブリ (あ るいはアセンブラ) の Pseudo-op に該当するものでした。それは、それ 自身のラベルを定義し、与えられた単語の数にあわせてスペースを置きま した。これ以外に、もうひとつ pseudo-op がありました。BES は、"記号 で終わるブロック" ラベルが最後につけ加えられたワードに1を加えて定 義されるということを除けば、BSS と同じことしています(ここに書いた マシンでは、フォートランの配列はストレージ内に逆向きに配置され、す べてが1つのものをもとにしていました)。

標準的な UNIX のローダーを使う場合はオブジェクトのデッキに1文字づ ついれられなければならないわけではなく、どこかで個数を記憶しておけ ばいいので、使い方は、適度に単です。

biff = "BIFF"
このコマンドを使うと、ばらばらとメールがくるたびに、到着を知らせてく れますが、実はこれはバークレイにいた犬の名前にちなんで名付けられたの  です。

興味をお持ちならおしえてあげましょう。Biff とは、昔、Heidi(と私と Bill Joy が)みんな U.C. Berkeley の大学院生で BSD 版の UNIX の初期 のバージョンのものが開発中だった頃、Heidi Stettner が飼っていた犬 の名前です。Biff は、Evans Hall に住んでいる人たちの間で人気があり、 郵便配達が来るたびに吠えるので有名でした。そのため、このコマンドの 名前もそうなったのです。

rc(".cshrc" や "/etc/rc"というファイル名に使われる) = "RunCom"
"rc" とは、MIT CTSS system, ca. 1965. で用いられた "runcom" にちなん だ名前です。

CTSS には、ファイルの中に書かれたコマンド群を実行する機能があって、そ れは、"run commands" というかわりに "runcom" と呼ばれていました。それ で、そのようなファイルが "a runcom" と呼ばれるようになったのです。

UNIX の "rc" は、その使い方が化石のように残ったものです。

Perl = "Practical Extraction and Report Language"
Perl = "Pathologically Eclectic Rubbish Lister"
Perl という言語は、Larry Wall が作ったもので、ただで入手出来、十分に コンパクトで、テキスト、プロセス、ファイルを操作するツールで、非常に 人気があります。そして、シェルで簡単に作るツールと いちいち C 言語で 書かなければならないプログラミングの間のギャップを埋めてくれます (言 替えれば、髪が伸びるほど待たなくてもコマンドラインですぐ実行できます)。


UNIX FAQ LIST / Copyright(c)1994,Ted Timar / tmatimar@isgtec.com


Maintainer: あさだ たくや