Linux入門書を出しました:「新しいLinuxの教科書」
えらく長いことかかってしまいましたが、Linuxの入門書を書きました。「新しいLinuxの教科書」というタイトルで、友人の三宅氏(id:mollifier)との共著です。
- 作者: 三宅英明,大角祐介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/06/06
- メディア: 単行本
- この商品を含むブログ (6件) を見る
目次については、SBクリエイティブのページに掲載されていますので参照ください。
mollifier氏はバリバリのプログラマで、私はサーバ構築やネットワークセキュリティなどのいわゆるインフラエンジニアなため、2人で色々もみ合うことでイイ感じになったかなと思っています。
対象読者について
想定する読者は以下のような方です。
シェルスクリプトをbashで書く意味
本書ではシェルスクリプトに多くのページを割いていますが、そこではすべて「#!/bin/bash」として、bashスクリプトで記述しました。なぜシェルスクリプトを書く際にshではなくbashを使うのかは、本書内でも詳しく述べています。しかし炎上しやすいテーマなのでここにも少し理由を書いておきます。
私がbashスクリプトを勧めるようになったきっかけは、昔に関根達夫氏の「UNIXシェルスクリプトハンドブック」を読んだことに由来しています。
UNIXシェルスクリプトハンドブック (Technical handbook series (001))
- 作者: 関根達夫
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/03
- メディア: 単行本
- クリック: 8回
- この商品を含むブログ (11件) を見る
当時の私は、DebianとRedHatとSolarisとHP-UXとAlphaのDigital UNIXの/bin/shの差に苦労しており、この主張に全面的に賛同しました。最近はSolarisにも普通にbashが入っていますから(それどころか最近のSolarisはzshすらデフォルトで入っています)、bashをわざわざ避ける理由はもうありません。このような主張をされている方は非常に少ないのですが、言われてみればその通りで、どうして今まで思いつかなかったのだろう? という感じです。(なお、bashスクリプトなのにshebangを「#!/bin/sh」にするのは死罪に値します。決してやってはいけません)。
これ以降、私はシェルスクリプトをshスクリプトではなくbashスクリプトで書くようになりました。ただし、たとえばFreeBSDではbashは/usr/local/bin/bashにインストールされるので、「本当に/bin/bashでいいのか」問題はまだ残っているのですが……。
書き足りなかったこと
まず、ネットワーク周りの設定については全くと言っていいほど書いていません。pingコマンドがほんのちょっと登場するだけです。これにはいくつか理由はあるのですが、単純に分量が多くなりすぎてムリということと、本書はシェルの使い方を基本とした本ですから、分野からしてそもそも対象外だな、と判断しました。
また、Linuxの運用管理に関わる部分もほとんど触れていません。起動・終了とパッケージのインストールについては触れましたが、cronの設定やサービスの起動など、一般的なLinuxサーバ入門的な部分はありません。またカーネルパラメータなども出てきません。これらは、この本で基礎を身につけたあと、それぞれ興味のある方向に進んでくださいというスタンスです。
細かい点で言うと、bashのhelpコマンドをそういえば紹介していなかったな……というのが心残りです。例えばbashの組み込みコマンドsetのヘルプを読むには「man bash」としてから「SHELL BUILTIN COMMANDS」のところのsetコマンドを読めばいいのですが、bashのmanは巨大なため、これはいささか不便です。この場合、次のようにhelpコマンドを使えば簡単に組み込みコマンドのヘルプを参照できます。
$ help set
参考文献
今回の本を書くために様々な書籍を参考にしましたが、私が特に意識したのは以下の2冊です。
たのしいUNIX―UNIXへの招待 (Ascii books)
- 作者: 坂本文
- 出版社/メーカー: アスキー
- 発売日: 1990/11
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 34回
- この商品を含むブログ (8件) を見る
The Linux Command Line: A Complete Introduction
- 作者: William E., Jr. Shotts
- 出版社/メーカー: No Starch Press
- 発売日: 2012/01/11
- メディア: ペーパーバック
- この商品を含むブログを見る
また、「The Linux Command Line」については、以下のURLでPDF版が無料で公開されています。("Download it here."からダウンロードできます)
非常に優れたテキストですから、英語に抵抗のない方はぜひ読まれることをおすすめします。この本は「ほとんど」どころか「一切」マウスを使う操作が出てこない、今どき硬派なLinux入門書ですが、その内容は非常に丁寧で読みやすいものになっています。
おわりに
mollifier氏による書籍紹介も合わせてお読みください: