Linux Book Review

UNIXの基本ツールをイチから学ぼう

中澤勇
@IT編集局
2002/9/3

 
この4冊
入門UNIXシェルプログラミング
入門 csh & tcsh
入門vi 第6版

入門GNU Emacs 第2版

 Linuxのインストール本などでも、シェルやエディタの簡単な操作方法は載っている。こうした本を読んで、取りあえず使えるようになったという人も多いだろう。ただし、「Linuxの入門書」に載っている解説だけでは限界がある。シェルやエディタの機能は、書籍の1章を割いた程度で語り尽くせるものではない。

 今回は、シェルやエディタなど、UNIX/Linuxの基本中の基本ともいえるツールを一から学び直せる書籍を紹介する。それぞれのテーマに絞った専門書には、概説書にはない詳細な情報がある。それなりに使えているという人も、これから紹介する書籍を読めば知らなかった機能を見つけることができるだろう。これを機に、基本ツールをもっと使いこなせるようになろう。

  シェルスクリプト・マスターになろう
入門UNIXシェルプログラミング
Bourne Shellの基礎から学ぶUNIX World

Bruce Blinn 著
ソフトバンク パブリッシング 1999年3月
ISBN4-7973-0828-1
3200円

 UNIX系OSにとって必須ともいえるシェルスクリプト。本書は、このシェルスクリプト・プログラミングを非常に丁寧に解説している良書である。シェルスクリプトの基礎であるシェルの細かい挙動()から始まっており、まったくの初心者にもオススメだ。全体的に、「〜とするとなぜダメなのか」「〜はなぜそのような挙動なのか」といった解説が丁寧なので、非常に得るものが多い。

 第1章は基礎知識として各種クオーテーションやバッククオート、各種括弧の使い方からifなどの制御文などについて。2章以降はシェル変数やシェル関数、リダイレクション、環境変数と続く。さらにシェルスクリプトにおけるオプションや引数の処理、sedを使ったフィルタや計算、文字列操作、プロセス操作などの解説。後半は実用的なシェル関数のサンプルや「プロセスの親子関係をツリー構造で出力する」シェルスクリプトなど、それなりの規模と内容を伴なったプログラミングが学べるようになっている。

 また、全般を通してシェルスクリプトの要素となる各種コマンドの使い方や移植性にも言及するなど、非常に濃い内容となっている。デバッグ手法や前述の移植性については、さらに1章ずつ用意されている。特定のOSに特化しないように配慮されているので、本書で学んだ知識は長く、多くの場面で役に立つだろう。

注:筆者は、ワイルドカードでドットファイルを指定する際に、「.*」や「.?」はOKで「[.a]*」がダメであることを本書で知った。理由は本書参照。

  bashだけがシェルじゃない!
入門 csh & tcsh

Paul DuBois 著
オライリー・ジャパン 2002年2月
ISBN4-87311-073-4
2900円

 Linuxではbashがデフォルトのシェルになっているが、これを使い続けなければならないということはない。Linux関係の雑誌や書籍はbashを前提に書かれていることが多いので、初心者はまずbashをマスターすることをお勧めするが、ある程度理解できたら別のシェルを使ってみるのもいいだろう。

 bash以外のシェルといってもいろいろあるが、本書が扱っているのは「csh」と、その拡張版の「tcsh」だ。これらは主にBSD系UNIXで使われてきたシェルだが、もちろんLinuxでも利用できる。

 ログインシェルの変更方法やcsh/tcshの起動方法から始まり、各種シェル変数やヒストリ、コマンドラインエディタ、補完機能、ジョブの操作やシェルの活用方法まで、csh/tcshを使いこなすための情報がすべて詰まっているといってもいいだろう。非常に初歩的なレベルから丁寧に解説されているので、まったくの初心者でもついていける。高度な使用方法まで扱っているが、自分のペースでマスターしていけばいい。

 本書を読むなら、練習用のアカウントを作り、そのアカウントのログインシェルをtcshにして実際に試せるようにしておくといいだろう。こうすれば、普段使うアカウントはbash、練習用アカウントはtcshのように使い分けることができる。

 なお、本書は対話的にシェルを使うことに重点が置かれており、シェルスクリプトについてはほとんど触れられていない。理由は、「cshとtcshはシェルスクリプトを記述するにはあまりよいシェルではないから」だそうだ。

  viの基礎から奥義まで
入門vi 第6版

Linda Lamb、Arnold Robbins 著
オライリー・ジャパン 2002年5月
ISBN4-87311-083-1
2500円

 UNIX系OSのエディタとしては基本中の基本ともいえるvi。Linuxの入門書にも必ずviの使い方は紹介されており、誰でもファイルの簡単な編集や保存くらいはできるのではないだろうか。しかし、ご存じのとおり、極めてシンプルな見た目と反比例するかのようにviの奥は深い。

 本書を読めば、コマンドの組み合わせ技から一括置換、カスタマイズ方法、exスクリプトの使い方など、非常に多くのことを学ぶことができる。普段viを活用している人でも、知らなかった機能があるのではないだろうか? もちろん、「入門」とあるように、初めはカーソルの動かし方から丁寧に解説されている。図版が効果的に使われているので、まったくの初心者でも理解しやすいだろう。巻末のクイックリファレンスやexコマンド、viのオプション、vi関連Webサイトなども便利だ。

 また、第5版から第6版の改版に当たって、viクローンの1つである「vim」を解説する章が新設された。この章ではvim固有の拡張機能(GUI、拡張正規表現、編集機能など)が詳しく紹介されている。Linuxの場合、viとしてvimが使われていることも多いので一読する価値がある。

 UNIX系OSが存在する限り、viも使い続けられるだろう。そして、viがある限り、本書もまた価値を持ち続けるだろう。

  深遠なるEmacsの世界へ
入門GNU Emacs 第2版

Debra Cameron、Bill Rosenblatt、Eric Raymond 著
オライリー・ジャパン 1999年10月
ISBN4-900900-83-4
4800円

 Emacsは、活用すれば極めて強力な「環境」となるが、自由度があり過ぎるため使いこなすのはなかなか難しい。もちろん全機能を利用する必要はないのだが、ある程度はどのような機能があるのか知っておいた方がいい。

 こんなとき、本書のようにEmacsの使い方を一から網羅している書籍があると便利だ。Emacsの画面構成やバッファなどの概念、簡単な操作から編集、検索・置換、シェルバッファやファイル操作、メールやUsenetニューズ、Telnet、FTPなどの使い方、テキストの清書機能など、Emacsの多くの機能を学ぶことができる。さらに、マクロの書き方やEmacsのカスタマイズ方法、CモードやLISPモードなどのプログラミング用機能、Emacs LISPプログラミングといった、より高度な部分も当然扱われている。

 Emacsという「環境」にとって、上記に挙げたような利用方法は一側面にすぎないが、「こうしたことができる」ということを学んでおくのは価値がある。本当にEmacsを究めたければ、必要なEmacs LISPライブラリを見つけてくるなり自分で書くなりすればいいだろう。

 ちなみに、本書はGNU Emacs 19.30がベースになっている。最新のGNU Emacsや最近主流になりつつあるXEmacsではやや異なる部分もあるかもしれないが、それでも本書のように網羅的な書籍は手元に置いておきたい1冊だ。

各書評にあるボタンをクリックすると、オンライン書店で、その書籍を注文することができます。詳しくはクリックして表示されるページをご覧ください。

Linux Square Book Review


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間