ろば電子が詰まつてゐるスマートフォン用の表示で見るろば電子が詰まつてゐる2015-06-05Linux入門書を出しました:「新しいLinuxの教科書」えらく長いことかかってしまいましたが、Linuxの入門書を書きました。「新しいLinuxの教科書」というタイトルで、友人の三宅氏(id:mollifier)との共著です。見るLinuxの入門書にも色々な切り口がありますが、本書は「CLI(コマンドラインインタフェース)」と「シェル(bash)」を中心としました。いうか、ほぼそれしか書いていません。後半は、ページを多く割いてシェルスクリプトについて入念に解説しています。マウスを使う場面はほとんど出てきませんから、本書を読む際にはマウスを窓から投げ捨ててしまっても問題ありません。目次については、SBクリエイティブのページに掲載されていますので参照ください。http://www.sbcr.jp/products/4797380941.htmlmollifier氏はバリバリのプログラマで、私はサーバ構築やネットワークセキュリティなどのいわゆるインフラエンジニアなため、2人で色々もみ合うことでイイ感じになったかなと思っています。対象読者について想定する読者は以下のような方です。おすすめする読者とりあえずLinuxを学習するためにインストールしてみたが、マウスでちょっとつっつくくらいしかできておらず、CLIの基礎知識をしっかり身につけたいLinuxのコマンドラインを基礎からきちんと学習したい今までなんとなく自己流でLinuxを学んでいたので、一度体系的に基礎を固めたいGitの基本操作を身につけたい第19章で、mollifierが渾身の「Git入門」を書いてくれたので、ここだけでも一読の価値があると思います。本書はシェルの操作を中心したLinux入門書であるため、以下のような目的の方は読んでみても期待外れとなるかもしれません。本書ではシェルスクリプトに多くのページを割いていますが、そこではすべて「#!/bin/bash」として、bashスクリプトで記述しました。シェルスクリプトを書く際にshではなくbashを使うのかは、本書内でも詳しく述べています。炎上しやすいテーマなのでここにも少し理由を書いておきます。私がbashスクリプトを勧めるようになったきっかけは、昔に関根達夫氏の「UNIXシェルスクリプトハンドブック」を読んだことに由来しています。見るこの本はすべてのシェルスクリプトをbashで記載しており、冒頭でその理由として、「移植性に気を使ってshで書いても、結局はLinux/Solaris/BSD間の実装の差に苦労する。bashは、GNUによる実装ひとつしか無い。機種間の実装による差に悩まされず移植性に優れている。シェルスクリプトはshではなく、むしろbashで書くべき」と述べられています(昔に読んだので細かい表現が若干違うかもしれません)。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コマンドをそういえば紹介していなかったな......というのが心残りです。COMMANDS」のところのsetコマンドを読めばいいのですが、bashのmanは巨大なため、これはいささか不便です。この場合、次のようにhelpコマンドを使えば簡単に組み込みコマンドのヘルプを参照できます。今回の本を書くために様々な書籍を参考にしましたが、私が特に意識したのは以下の2冊です。ペーパーバックこの商品を含むブログを見る特に坂本文さんの「たのしいUNIX」は、私がUNIXを学び始めた15年ほど前に読み、当時とても面白く読んだことを覚えています。今読み返してみても楽しめますし、2015年現在でも役に立つ素晴らしい良書とは思うのですが、やはりどうしても時代の流れは感じてしまいます(Linuxは全く登場しませんし、端末エミュレータは使わず物理端末を使う前提で書かれていますしね......)。非常におこがましいとは思いますが、「たのしいUNIX」の現代版とでもいうようなコマンドライン中心の本が書きたいな......と長いこともやもやしていたので、その野望はちょっぴり達成できたかな、と思います。Line」については、以下のURLでPDF版が無料で公開されています。here."からダウンロードできます)http://linuxcommand.org/tlcl.php非常に優れたテキストですから、英語に抵抗のない方はぜひ読まれることをおすすめします。この本は「ほとんど」どころか「一切」マウスを使う操作が出てこない、今どき硬派なLinux入門書ですが、その内容は非常に丁寧で読みやすいものになっています。おわりにmollifier氏による書籍紹介も合わせてお読みください:http://mollifier.hatenablog.com/entry/2015/06/05/224905「あの、ふだんはzshのことしか語らないmollifier氏がbashを語る」という点でも、本書は貴重です。Qiitaの19日目です。関する罪」の情報公開請求をしました月別アーカイブはてなブログをはじめよう!ozumaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。