Csh
このハンドブックは、C シェル (csh) にあり Bourne シェル (bsh) にない機能を解説します。これらの機能により、csh はより対話的で使いやすいシェル環境を提供し、その後の ksh, bash, zsh, dash など多くの後発のシェルで模倣されました。
コマンド履歴機能
編集csh では、以前実行したコマンドを簡単に呼び出して再利用できます。
- 使用方法
- 上矢印キー: 直前のコマンドを表示
- !!: 直前のコマンドを再実行
- !n: n番目のコマンドを再実行
- !string: 'string' で始まる最新のコマンドを再実行
- 例
% ls -l % !! # 直前の 'ls -l' コマンドを再実行
コマンド別名(エイリアス)
編集頻繁に使用するコマンドに短い別名を付けられます。
- 使用方法
- alias name 'command': 別名を設定
- unalias name: 別名を削除
- 例
% alias ll 'ls -l' % ll # 'ls -l' と同じ
ファイル名補完
編集ファイル名の一部を入力し、タブキーを押すと残りを自動補完します。
- 使用方法
- ファイル名の先頭数文字を入力し、タブキーを押す
- 例
% cat /etc/pas[TAB] # '/etc/passwd' に自動補完
算術演算
編集シェル内で直接数学的な計算ができます。
- 使用方法
- @ 変数名 = 式
- 例
% @ result = 5 + 3 * 2 % echo $result # 11 と表示
ジョブ制御
編集バックグラウンドジョブの管理が容易です。
- 使用方法
- command &: コマンドをバックグラウンドで実行
- jobs: 実行中のジョブを表示
- fg %n: n番目のジョブをフォアグラウンドに
- bg %n: n番目のジョブをバックグラウンドに
- 例
% long_running_command & % jobs % fg %1
コマンドラインの編集
編集cshでは、コマンドラインの編集が他のシェルに比べて柔軟です。特に、矢印キーを使用して履歴のスクロールや編集を行うことができます。
ディレクトリスタック
編集ディレクトリスタックを使用すると、複数のディレクトリをスタック(積み重ね)に保存し、簡単に移動することができます。
- ディレクトリのスタックへの追加
pushd
コマンドを使用して、現在のディレクトリをスタックに追加し、指定したディレクトリに移動します。% pushd /path/to/directory
- スタックの内容の表示
dirs
コマンドを使用して、現在のディレクトリスタックの内容を表示します。% dirs
- スタックからのディレクトリの削除
popd
コマンドを使用して、ディレクトリスタックのトップにあるディレクトリを削除し、その下にあるディレクトリに移動します。% popd
- ディレクトリの入れ替え
pushd
コマンドを使用して、現在のディレクトリとスタックトップのディレクトリを入れ替えます。% pushd
これにより、頻繁に使用するディレクトリ間を効率的に移動することができます。
プロンプトのカスタマイズ
編集より柔軟にプロンプトの外観を変更できます。
- 使用方法
- set prompt = "文字列"
- 例
% set prompt = "%n@%m:%~> " username@hostname:current_directory>
変数の設定と使用
編集変数の操作がより直感的です。
- 使用方法
- set 変数名 = 値: 変数を設定
- $変数名: 変数の値を参照
- 例
% set name = "John" % echo $name # John と表示
まとめ
編集これらの機能により、csh は対話的な使用に適したシェルとなっています。ただし、スクリプト作成においては bsh系の方が一般的に使用されることに注意してください。csh の独自機能を活用することで、コマンドラインでの作業効率を向上させることができます。