入門 csh & tcsh

[cover photo]
TOPICS
Programming
発行年月日
PRINT LENGTH
272
ISBN
4-87311-073-4
原書
Using csh & tcsh
FORMAT
Print
3,190円
この商品は品切れ再入荷未定です

本書は、ユーザに広く支持されている高機能シェルtcsh(およびcsh)の解説書です。cshは、たいていのUnixシステムで使用できる標準的なシェル(コマンドラインインタープリタ)で、cshを拡張したバージョンが高機能シェルであるtcshです。FreeBSD R4.11-RELEASE以降ではtcshがシステム標準のシェルとして採用されています。また、MacOS X標準のterminalアプリケーションでもtcshが採用されています。プロンプトの表示形態、コマンドのヒストリ機能、コマンドやファイル名をタイピングするときの補完機能、以前に実行したコマンドの一部分を書き直して再実行する方法などの初歩的な操作や環境設定を中心に、csh/tcshの使い方について解説します。

目次

はじめに

I部 シェルの基礎

1章 はじめに
        1.1 実行例の見方
        1.2 ログインシェルの選択
                1.2.1 シェルの試用
                1.2.2 tcshのすすめ
        1.3 さらに読み進む前に

2章 シェル入門
        2.1 コマンドの実行
        2.2 コマンド入出力のリダイレクション
        2.3 ファイルとディレクトリ
                2.3.1 ファイル名パターン
                2.3.2 「見えない」ファイル
                2.3.3 ディレクトリの作成
                2.3.4 ディレクトリの移動
                2.3.5 ディレクトリの削除
        2.4 コマンドの連結
        2.5 バックグラウンドでのコマンド実行
        2.6 スペースが意味を持つとき
        2.7 シェル設定ファイル

3章 効果的なシェルの使い方
        3.1 ファイル名
                3.1.1 ファイル名補完
                3.1.2 存在しないファイルに対するファイル名パターン
                3.1.3 ホームディレクトリ名の略記法
                3.1.4 スペルミスの訂正
                3.1.5 入力が困難なファイル名の取り扱い
        3.2 コマンドの再利用と編集
                3.2.1 コマンドヒストリ
                3.2.2 !文字によるコマンドの再実行
                3.2.3 コマンドラインエディタによるコマンドの再実行
                3.2.4 コマンドの部分的な再実行
                3.2.5 コマンド編集
                3.2.6 ループを使ったコマンドの繰り返し実行
        3.3 エイリアスの作成
        3.4 コマンド置換
        3.5 ファイルシステムの歩き方
                3.5.1 2つのディレクトリを簡単に行き来する方法
                3.5.2 ディレクトリサーチパスの指定
        3.6 プロンプト
                3.6.1 tcshのプロンプトフォーマット機能
        3.7 ジョブの制御
                3.7.1 ジョブ制御が便利な理由
                3.7.2 ジョブ制御の基本
                3.7.3 複数のジョブの制御
                3.7.4 ジョブ制御のショートカット
                3.7.5 コマンドをサスペンドした状態でのログアウト


II部 シェルの応用

4章 シェル設定ファイル
        4.1 起動ファイルと終了ファイル
        4.2 .cshrcと.login
        4.3 .cshrcと.loginの編集
        4.4 変数
                4.4.1 シェル変数
                4.4.2 環境変数
                4.4.3 変数値の参照
                4.4.4 変数の削除
                4.4.5 tcshの読み込み専用シェル変数
                4.4.6 対となる変数
        4.5 シェル設定ファイルの構成
                4.5.1 ログインシェルと非ログインシェル
                4.5.2 対話的シェルと非対話的シェル
                4.5.3 sourceコマンド
                4.5.4 tcshのみで有効なコマンドの扱い
        4.6 .logoutファイル

5章 端末の設定
        5.1 端末設定の確認
        5.2 端末設定の意味
                5.2.1 コマンドライン編集の設定
                5.2.2 プロセスの管理
        5.3 端末設定の変更
                5.3.1 #と@を入力するときの問題
                5.3.2 バックスペースの設定
        5.4 端末が反応しなくなったとき

6章 コマンドヒストリ
        6.1 ヒストリリストとは
        6.2 ヒストリリストの確認
        6.3 ヒストリリスト中のコマンドの実行
        6.4 イベント指示記号
                6.4.1 直前のコマンドの呼び出し
                6.4.2 番号によるコマンドの呼び出し
                6.4.3 コマンド名または任意の文字列によるコマンドの呼び出し
                6.4.4 現在のコマンドの参照
                6.4.5 誤ったヒストリの参照
                6.4.6 呼び出したコマンドへの文字の追加
        6.5 ワード指示記号
                6.5.1 ワード指示記号の略記法
                6.5.2 ワード指示記号の使い方
                6.5.3 まとまった単語の参照
                6.5.4 現在のコマンドから単語を参照
        6.6 イベント修正記号
                6.6.1 参照のみのコマンド呼び出し
                6.6.2 置き換え修正記号
                6.6.3 ファイル名修正記号
        6.7 ヒストリリストの保存

7章 tcshコマンドラインエディタ
        7.1 コマンドの編集
        7.2 キー割り当ての概要
                7.2.1 キー割り当ての確認
                7.2.2 emacsモードとviモードの比較
        7.3 emacsモード
                7.3.1 カーソル移動コマンド
                7.3.2 修正コマンド
                7.3.3 編集コマンドの繰り返し
                7.3.4 ヒストリリスト検索コマンド
                7.3.5   emacsモードでのカーソルキーの使い方
        7.4 viモード
                7.4.1 挿入モード
                7.4.2 コマンドモード
                7.4.3 ヒストリリスト検索コマンド
                7.4.4 文字検索コマンド
                7.4.5 viモードでのカーソルキーの使い方
        7.5 キー割り当ての確認と変更
                7.5.1 キー割り当てセットの指定
                7.5.2 編集コマンドの確認
                7.5.3 キー割り当ての表示
                7.5.4 key引数の指定
                7.5.5 キー割り当ての変更
                7.5.6 端末設定とキー割り当ての競合
                7.5.7 キー割り当て同士の競合

8章 エイリアスを使ったコマンドショートカット
        8.1 エイリアスの基礎
                8.1.1 エイリアスの引数の参照
                8.1.2 エイリアスからのヒストリリストの参照
                8.1.3 エイリアスを使う前に
        8.2 エイリアスの応用
                8.2.1 エイリアスによる入力の手間の削減
                8.2.2 エイリアスによるコマンドの再定義
                8.2.3 エイリアスによるシステム間の差異の隠蔽
        8.3 エイリアス定義ファイル

9章 ファイル名ショートカット
        9.1 ファイル名パターンの使い方
                9.1.1 複数の文字にマッチするパターン
                9.1.2 単一の文字にマッチするパターン
                9.1.3 パターン演算子の組み合わせ
                9.1.4 ファイル名パターンとドットファイル
                9.1.5 否定型のファイル名パターン
                9.1.6 ファイル名パターンの注意点
                9.1.7 ファイル名パターンの事前チェック
        9.2   “{ }”を使った引数の生成
        9.3 ディレクトリ名ショートカット
                9.3.1 ~nameによるホームディレクトリの参照
                9.3.2 =nを使ったディレクトリスタックの参照

10章 ファイル名とプログラマブルな補完
        10.1 組み込みのファイル名補完
                10.1.1 マッチする補完候補を表示
                10.1.2 補完範囲の限定
                10.1.3 その他の補完
                10.1.4 マッチした補完候補を自動的に表示
                10.1.5 補完とtcshコマンドラインエディタ
        10.2 プログラマブルな補完
        10.3 completeコマンドの書式
                10.3.1 補完する単語の選択
                10.3.2 選択した単語の補完
                10.3.3 複数の補完規則を設定
        10.4 補完規則の表示と削除
        10.5 プログラマブルな補完規則が適用されない場合

11章 クオーティングと特殊文字
        11.1 特殊文字
        11.2 シェルのクオート文字
                11.2.1 クオート文字のクオーティング
        11.3 特殊な名前のファイルを参照
                11.3.1 ファイル名補完による特殊なファイル名の扱い
                11.3.2 ファイル名パターンによる特殊なファイル名の扱い
                11.3.3 特殊文字の手動クオーティング
        11.4 コマンドラインへの特殊文字の入力
                11.4.1 ハイフン(-)で始まるファイル名の参照
        11.5 部分的なクオーティング
        11.6 クオーティングにおける例外

12章 コマンド置換
        12.1 コマンド置換とは
                12.1.1 ファイル検索
                12.1.2 ファイルの内容から引数を生成
                12.1.3 引数の個別処理
        12.2 コマンド置換の繰り返し
        12.3 遅延コマンド置換
                12.3.1 引数のチェック
                12.3.2 引数リストの修正
        12.4 コマンド置換の抑制
                12.4.1 ファイル名が特殊文字を含んでいる場合
                12.4.2 xargsによるコマンド置換

13章 ファイルシステムの歩き方
        13.1 ディレクトリの移動
        13.2 複数のディレクトリでの作業
                13.2.1 1つ前のディレクトリへ移動
                13.2.2 ディレクトリスタック
                13.2.3 ディレクトリスタックの表示形式
                13.2.4 コマンド引数としてスタックのエントリを参照
                13.2.5 ディレクトリスタックを使わない方法
        13.3 ディレクトリサーチパス
                13.3.1 cdpath変数での制限
        13.4 エイリアスと変数を使った移動
                13.4.1 エイリアスを使った移動
                13.4.2 変数を使った移動
                13.4.3 エイリアスと変数の併用

14章 現在位置の把握
        14.1 現在位置の表示形式
        14.2 プロンプトに現在位置を表示
                14.2.1 cshでプロンプトに現在位置を表示
                14.2.2 tcshで現在位置を表示
        14.3 ウィンドウタイトルに現在位置を表示
                14.3.1 xtermの設定
                14.3.2 xtermでのウィンドウタイトルの設定
                14.3.3 その他の端末プログラムでのウィンドウタイトルの設定
        14.4 現在位置表示設定のまとめ
        14.5 その他の情報を表示
                14.5.1 ユーザ名を表示
                14.5.2 xtermのアイコンを設定

15章 ジョブの制御
        15.1 ジョブの状態
        15.2 ジョブの情報の取得
                15.2.1 ジョブの終了通知
                15.2.2 カレントジョブと直前のジョブ
        15.3 ジョブの状態変化
                15.3.1 ジョブのサスペンド
                15.3.2 ジョブの再開
                15.3.3 ジョブの強制終了
                15.3.4 非ログインシェルのサスペンド
        15.4 ジョブ制御の応用
                15.4.1 バックグラウンドジョブの出力の制御
                15.4.2 対話的なバックグラウンドジョブ
                15.4.3 ジョブ制御によるシステムの応答の改善
        15.5 ジョブ制御とウィンドウシステム


III部 付録

付録A tcshの入手とインストール
        A.1 ソースコードの入手
        A.2 tcshのコンパイル(簡略)
        A.3 tcshのコンパイル(詳細)
                A.3.1 コンパイル作業の概要
                A.3.2 インストールするディレクトリの選択
                A.3.3 Makefileの編集
                A.3.4 config.hの編集
                A.3.5 config_f.hの編集
                A.3.6 tcshのコンパイル
                A.3.7 他のシステムへの移植
        A.4 tcshのテストとインストール
        A.5 tcshをログインシェルに指定
                A.5.1 /etc/shellsファイルがサポートされない場合

付録B csh&tcshクイックリファレンス
        B.1 コマンドの構成
        B.2 シェル設定ファイル
        B.3 変数
                B.3.1 変数の設定、参照、削除
                B.3.2 変数の参照
        B.4 特殊文字
                B.4.1 ファイル名に使われる特殊文字
                B.4.2 クオート文字
        B.5 コマンドヒストリ
                B.5.1 ヒストリイベント指示記号
                B.5.2 ワード指示記号
                B.5.3 イベント修正記号
        B.6 ディレクトリの移動
        B.7 エイリアス
        B.8 ファイル名補完
        B.9 プログラマブルな補完
        B.10 ジョブ制御
        B.11 tcshコマンドラインエディタ
                B.11.1 emacsモード編集コマンド
                B.11.2 viモード編集コマンド
                B.11.3 bindkeyコマンド

付録C その他の情報
        C.1 ドキュメント
        C.2 ニュースグループ
        C.3 メーリングリスト
索引