関連サイト
本書の関連ページが用意されています。
内容紹介
UNIXのプログラミング哲学を学ぶ
「本書の目的は、このUNIXのプログラミング哲学を知ってもらうことにある。UNIXシステムとそのコンポーネントをうまく使うためには、プログラムの使い方だけではなくそれをどうやって環境に合わせるかを理解しなくてはならない。」(本書「はじめに」より)
基本的な使い方から、シェルの活用、sedやawkによるフィルタの作り方、C言語によるプログラム開発まで、UNIXをより深く使いこなすための知識が豊富なサンプルとともにわかりやすく解説されています。単にUNIXの使いこなしだけではなく、プログラムを設計する際の発想方法まで、示唆に富んだ解説から、多くのことを学べるでしょう。
※ 本書は、株式会社アスキーより刊行された『UNIXプログラミング環境』を再刊行したものです。再刊行にあたっては、旧版刊行後に発見された誤植などを修正しています。
書誌情報
- 著者: Brian W. Kernighan, Rob Pike(著), 石田晴久(監訳), 野中浩一(訳)
- 発行日: 2017-05-31 (紙書籍版発行日: 2017-05-31)
- 最終更新日: 2017-05-31
- バージョン: 1.0.0
- ページ数: 480ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: アスキードワンゴ
対象読者
Unixプログラミングに興味のある人、Unix系OSを使っている人
著者について
Brian W. Kernighan
Lucent Technologies 社ベル研究所の計算機科学研究センターに所属。Addison-Wesley 社のProfessional Computing シリーズの顧問を務める。Dennis Ritchie との共著に『プログラミング言語C』がある。
Rob Pike
Lucent Technologies 社ベル研究所の計算機科学研究センターに所属。オペレーティングシステムPlan 9 とInferno の開発で設計/実装リーダーを務めた。研究の中心テーマはソフトウェアをもっと簡単に書けるようにするためのソフトウェア。
石田晴久
1936年生まれ
1959年 東京大学理学部物理学科卒業
1961年 東京大学数物系研究科物理学修士修了
1961年 Fulbright 留学生として渡米
1964年 アイオワ州立大学電気工学科博士修了
1964年 マサチューセッツ工科大学研究員
1966年 電気通信大学助教授
1970年 東京大学大型計算機センター助教授
1975年 ベル研究所客員研究員
1982年 東京大学大型計算機センター教授
2000年現在 多摩美術大学教授
専攻: 情報科学、コンピュータ全般。特に分散処理、マン・マシン・インターフェイス、パーソナル・コンピュータ、OS、プログラム言語。
主な著書: マイクロコンピュータ・プログラミング(岩波書店 1984年)、Cプログラミング(岩波書店 1984年)、UNIX(岩波書店 1983年)、マイクロコンピュータの活かし方(産報出版 1977年)、超大型コンピュータ・システム(産業図書 1975年)
翻訳: プログラミング言語C(共立出版 1981年)
監修: パソコン言語学(アスキー 1984年)
目次
第1章 初心者のための UNIX
- 1.1 はじめてみよう
- 1.2 日々の利用 — ファイルおよびよく使われるコマンド
- 1.3 ファイルについて — ディレクトリ
- 1.4 シェル
- 1.5 UNIXシステムのその他の機能
第2章 ファイル・システム
- 2.1 ファイルの基礎
- 2.2 ファイルの種類
- 2.3 ディレクトリとファイル名
- 2.4 ファイルの使用許可
- 2.5 iノード
- 2.6 階層化ディレクトリ
- 2.7 デバイスファイル
第3章 シェルの利用
- 3.1 コマンド行の構造
- 3.3 新しいコマンドの作成法
- 3.4 コマンドの引数とパラメータ
- 3.5 プログラム出力を引数として与える方法
- 3.6 シェル変数
- 3.7 さらに高度な入出力の切換え
- 3.8 シェル・プログラムにおけるループ
- 3.9 全部まとめて送る方法 — bundle
- 3.10 シェルがプログラム可能になっている理由
第4章 フィルタ
- 4.1 grepファミリー
- 4.2 その他のフィルタ
- 4.3 ストリーム・エディタ — sed
- 4.4 パターン検索・処理言語 — awk
- 4.5 よいフィルタとよいフィルタ
第5章 シェルによるプログラミング
- 5.1 calコマンドを強化する
- 5.2 どのファイルが実行されたかを調べる — which
- 5.3 whileとuntilを用いたループ — 監視のテクニック
- 5.4 割込みのかけ方—トラップ
- 5.5 ファイルの置換 — overwrite
- 5.6 プログラム名の指定によるプロセスの終了 — zap
- 5.7 ブランクと引数 — pick
- 5.8 公共サービス情報 — news
- 5.9 ファイルの変化の把握 — get と put
- 5.10 まとめ
第6章 標準入出力を用いたプログラミング
- 6.1 標準入出力 — vis
- 6.2 プログラムの引数 — vis 第2版
- 6.3 ファイル・アクセス — vis 第3版
- 6.4 画面ごとの表示プログラム — p
- 6.5 1つの応用例 — pick
- 6.6 バグとデバッグについて
- 6.9 環境へのアクセス
- 6.7 具体例 — zap
- 6.8 対話型ファイル比較プログラム — idif
第7章 UNIXシステムコール
- 7.1 低レベル入出力
- 7.2 ファイル・システム — ディレクトリ
- 7.3 ファイル・システム — iノード
- 7.4 プロセス
- 7.5 シグナルと割込み
第8章 プログラム開発
- 8.1 第1段階: 四則演算
- 8.2 第2段階: 変数とエラー回復
- 8.3 第3段階: 任意の変数名 — 組込み関数
- 8.4 第4段階: マシン語へのコンパイル
- 8.5 第5段階: 制御フローと関係演算子
- 8.6 第6段階: 関数と手続き — 入出力
- 8.7 性能の評価
- 8.8 まとめ
第9章 文書作成
- 9.1 ms マクロパッケージ
- 9.2 troffのレベル
- 9.3 tbl および eqn プリプロセッサ
- 9.4 マニュアル・ページの書き方
- 9.5 その他の文書作成用ツール