僕は大学で理系だったけどUnixの経験ないんです。(案外そんな人多いんじゃないでしょうか)結構コンプレックス引きずってました。
そして最近LINUXをいじり始めまして、色々と本を買い込んできました。これは僕の好みですが、やっぱりOSの設定そのものよりもツールや言語の処理系に興味が出てきちゃいます。
さて、この書評ですが、Windowsしかしらない人とかLinuxビギナーが対象です。Unix慣れている人には何の意味もないでしょうから。でも解説するにはUNIXの環境の用語を述べないと話がピーマンになってしまうのでちょっと用語解説をさせてください。
Linux  Unixのエミュレーション環境で本来はカーネルっていう
とりあえずシステムを立ち上げるプログラム(=OSの定義)をいう。
ただし、カーネルが動作するだけでは何にも起こらない
まっくろな画面が現れるだけなので、普通はそのカーネルに加え
色々なアプリをインストールするセットを(雑誌の付録とかから見つけて)
導入する。なお、PCに入れるだけじゃなくてSUNのサーバなどでも
Linuxのカーネルが動く。(各種CPU用にLinuxカーネルがある。)
アプリのセットやインストールの仕組みは色々なバージョンがあって
百花繚乱の状態。TurboLinuxとかRedHatとかVineとかDebianとか
FedoraCoreとか・・・・。Debian系というのとRedHat系というのがある。
(rpm系とも)それぞれのバージョンはディストリビューションという。
普通Linuxをインストールするというのはディストリビューション
を選択して付属のUnixのツールも導入することをいう。
僕が入れたのはちょっと(or相当)古いRedHatのver7.2というもの。
PCのスペック低いからちょうどよさそう。ただ、周辺機器のプリンタ
とかが新しいので古いバージョンでドライバがないのが悩み。
CUI 昔のMS-DOSみたいに文字ラインでコマンドを打って結果が返ってくる
画面です。実はMS-DOSがUNIXを真似してます。
よくサーバマシンを立てるためにLINUXを使う人がいますが
たいてい、その場合はこのCUIだけをインストールします。
システムが安定するし、セキュリティ・ホールも少なくなるからです。
GUI X-Window(X11)というのがUNIXのグラフィカルな画面の環境です。
ウィンドウズに慣れてしまうとちょっと勝手が違いますが、
歴史はこっちのUnixの方が古いようです。
Linuxの場合はGnomeという名前でX-Windowの互換環境を提供するようです。
Gnomeから、ktermというプログラムを立ち上げると日本語の打てる
CUIが立ち上がります。
Cygwin Windowsの上でUnixをエミュレートする環境。
その点がカーネルから立ち上がるLinuxとはまったく違う
Unix環境。昔まだ機能が不十分で動かないツールがたくさんあるころ
僕は使ったことがあります。
今は結構ほとんどのツールが動くみたいで、色んなサイトから
Unixのプログラムのソースをダウンロードしてコンパイルすれば
Cygwinの上で動いてしまうらしい。
X-Windowが不安定なので(<=設定の問題でしょうけど)CUIのツールをついつい愛用しちゃいます。本当はサーバの勉強しようと思って立てたLINUXにGUIを入れて、しかも結局CUIで遊んでる。自分で無節操さにあきれてしまう。
悪いのはこの本です。面白いんです。UNIXのCUIって。この本に気づかされちゃいました。理系の過去を持つパソコン好きの人だったら、僕みたいに目的履き違えてハマッちゃいます。
紹介されている内で面白かったツールの説明をします。
まず「bc」。CUIの画面立ち上げて、Gnomeの下の「kterm」のアイコン立ち上げてbcと打つと、ktermが数式パーサーに早変わり。結構複雑な計算もできるし、変数も使える。やってる計算が案外大変なのに端末は昔なつかしのDOSみたいな黒画面。そっけない風情なのがイブシ銀でいいです。
ついで「gnuplot」昔から名前知ってましたが、いじるのは初めて。mathematicaのような感じで、こいつは黒画面に数式を打つと別のウィンドウが開いてグラフが出てきます(そういう意味でCUIとは言わないかもしれません。Xを入れなかったら動かないんじゃないか?)。2変数関数もプロットできます。プログラムのようにして外部ファイルからスクリプトを与えるとグラフを動かしたりできます。Mathematicaの方がこれに影響されたんじゃないか? (ちなみに僕はWindows版のMathematicaを持ってます。)
「AWK」、これは昔Cygwin版でもいじったことがあります。でも本書のサンプルコードが面白くて結構思い出しながら遊びまくりました。擬似的なDBみたいに遊べます。 「Logo」、これはそういうものがあるのかと探して見ましたが僕の環境(RedHat7.2)では立ち上がらなかった。(名前がLogoでないのかも)タートルグラフィックスっていうお絵かきができるんですが・・・。うーん残念。
「gcc」C/C++の処理系。GUIのアプリを組むためのライブラリ「x11lib」やCUIでスクリーン全体を使ったアプリ組むためのライブラリ「ncurses」がついてます。昔、Cygwinで遊んだときはncursesが使えなくって悲しい思いをしたので、リベンジだなと燃える。
まだプリンタが動作してないので、印刷関係のツール(TeXとかGhost)はやりませんでしたが、とにかくLinux入れると色んなイブシ銀のツールがたくさん使えることが良く解りました。他のLinuxビギナーむけの本は辞書みたいだったり、ハードを稼動させるためのTipsに終始していて、まず触って遊ぶという感覚で読めませんでした。またツールに関して、他の書物はgnuplotやAWKという単位ごとに1冊の分厚い解説書になってますので、そこまでやるとビギナーにはやりすぎかと思います。
著者の経歴見ますと、ポケコンフリークが高じてUnixをやりだした人だとわかります。前書きではUnix使いとしてはまだ未熟だとも(<=謙遜もあるでしょうが)書いてます。まあ逆にポケコンフリークの人が適度な深さで色んなツールを1冊で説明してくれているのでUnixの全貌をお手軽に見たような錯覚を感じられて楽しめました。僕みたいなビギナーにお勧めですね。
|