わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

1991年のUNIX技術が今どこまで通じるか(1)

研究室の「ほとんどだれも読まない本棚」から,1冊の本を発掘しました.
この本は,自分が買ったか,兄が買ったか忘れましたが,ともあれ学生のときにUNIX文化を学ぶ取っ掛かりとなり,その後さまざまなツールを取捨選択して使っていくようになりました.
この本をいつものように書評しても,面白さも有用性もないので,ここでは,この本に取り上げられているソフトウェアなどが,現在自分の知る限りでどのくらい使われているかを,調べることにしました.

  • ログイン: 今ではグラフィカルログインか,sshのリモートログインですね.とはいえ今のLinuxでも,Alt-Ctrl-F2とか押せば,旧式のログインができますが.
  • .cshrc,.login: シェルは当時も今も乱立していますが,「csh」や「ksh」のシェアは0に近いくらいまで下がったような.現在では.bashか,zshか,tcshあたりから選ぶでしょう.
  • man: よく使うコマンドです.Vine Linuxに限り,jmanを使っています.
  • フリーウェア,PDS: 「パブリックドメイン(ソフトウェア)」は,懐かしい響きですね…現在では,「オープンソース(ソフトウェア)」に取って代わっています.
  • cd, ls, df, du, file: ファイル関連コマンドのひとかたまり.現在,fileコマンドは使いませんが,それ以外はそこそこ活用します.
  • cp, rm, rmdir, ln, mv: ファイル関連コマンドのふたかたまり.いずれもよく使います.rmdirよりはrm -Rfのほうが多いですが.
  • fork(), exec(), wait(), exit(), kill(): システムコールです.exitを除き,私自身はこれらを使ったプログラムを組むことはありませんが,今も需要はあると思います.
  • nice: プロセスの優先度を変えるコマンドですが,使わないですねえ.「nice値」というのは,Gentoo Linuxで/etc/make.confの中で指定するくらい.
  • ps, uptime, time: psとtimeはまあまあ使います.uptimeで出る情報は,topを実行して常時見えるようにしています.
  • exec, nohup, jobs, fg, stop, kill: ジョブ制御のコマンドです.killはよく使います.シェルを切り替えるときに「exec シェルコマンド名」とすることはあります.あとはさっぱり使いませんね….
  • リダイレクト,パイプ,ヒアドキュメントhere document: 今も活用しています.シェルスクリプトを書かなくなって久しいです…bashzshでfunctionを定義すれば済むため…が,ヒアドキュメントは,Rubyでよく使います.
  • cshのrehash: 実行コマンドとそのパスを再設定するコマンド.とのことです.当時も今も,使ったことがありません.zshではシェルのビルトインコマンドとして,残っています.
  • head, tail, sort, wc: まだ現役ですね.headとtailの「-数字」オプションを使うと,古いということで警告が出ますが.
  • grep, egrep, fgrep: 「egrepは複雑に見えて一番処理が早い」と読み,でも英字大小を無視する-iオプションはgrepにしかなかったので,よくgrepを使っていた記憶があります.いつからかgrepのほうがegrepよりも高速になって,egrepとfgrepは廃れました.
  • tr, sed, awk: sedを使って英字のみの単一換字暗号を解読するレポート課題を実施していますが,考えてみればtrコマンドで代用できそうです.awkの使用例は,Webでたまに見かけます.
  • ed, vi, emacs: edは原始的なラインエディタ,viとemacsは当時人気を二分するスクリーンエディタでした.viもemacsも,当時は日本語入力に難がありました.今では日本語問題なし,Windows版もありますし,GUIつきになっていますね.
  • spell, ispell, look: スペルチェックや辞書のコマンドです.今の学生は,Wordの赤波線,エキサイト翻訳でやっているのかな.
  • roff, tex: 文書処理システムです.「tex」はまあまあ使いますが,1990年代にはlatexで,それからlatex2eになりましたか.当時はtexファイル→dvi*1ファイル→印刷だったと思います.私が大学院生になると,tex→dvi→ps→印刷になって,ここ数年は,tex→dvi→pdf→ネット配信*2ですね.

後半へ続く.

*1:「DVI」の使われ方が変わってしまいましたね.TeXの文脈ではDeVice Independentの略ですが,現在では,PCとディスプレイをつなぐ,Digital Visual Interfaceの意味で使われるでしょう.

*2:あるいは,Webで論文投稿.