第 11 章
C. C シェル組込みコマンド
Cシェルの組み込みコマンド の主なものについて簡単に説明します。以下に説明するコマ ンド は、対話的に実行することが可能です。また、ジョブの制御を行う場合などには欠かせ ないものです。さらに、これらをホームディレクトリにある、\.cshrc",\.login"あるいは、
\.logout"ファイルの中で上手に利用することで、かなり大きなパワーを発揮します。
alias :::::::::::::::::::::::::::: ユーザが定義した全ての別名および、その元のコ マンド を表示する。
alias name :::::::::::::::::::::: nameという別名で定義された元のコマンド が何で あるかを表示する。
alias name command :::::::::::: commandの別名としてnameという名前を与える。
例えば、このコマンド を使って、次のように入力 しておくと
sophia% alias dir ls 3 0
2 1
この後からは、dirと入力するとls コマンド が実 行される。
bg :::::::::::::::::::::::::::::::: 実行を一時中断していたジョブをバックグラウン ド で再実行する。
bg %jobnumber ::::::::::::::::::: 実行を一時中断していたジョブ番号、jobnumberの ジョブをバックグラウンド で再実行する。
cd ::::::::::::::::::::::::::::::::
cd directoryname
引数を与えずに単に、cd
3 0
2 1と入力すると、ユーザ のホームディレクトリに移動する。また、cd /
3 0
2 1
と入力すると、ルートディレクトリに移動する。任 意のディレクトリに移動したい場合は、
directory-nameに行き先のディレクトリ名を入力する。なお、
chdir は、cd と全く同じ機能である。
dirs ::::::::::::::::::::::::::::: ディレクトリスタックの内容を表示する。ディレク ト リスタックは、LIFO(Last In First Out:最後に いれたデ ィレクトリが先頭に並んでいる)である。
exit ::::::::::::::::::::::::::::: シェルスクリプトの実行を終了し、Cシェルに戻 る。この時 最後に実行したコマンド の状態(正常 終了=0;異常終了6=0)を返す。
fg :::::::::::::::::::::::::::::::: バックグラウンド で実行を中断していたジョブを フォアグラウンド で再実行する。
fg %jobnumber ::::::::::::::::::: バックグラウンド で実行を中断していたジョブ番
号、jobnumberのジョブをフォアグランド で再実行
する。
foreachvariable(word1 word2 …)
command1
command2
end
foreach と end の間の一連のコマンド を実行する
ごとに、変数 variable にword1, word2, …という 順序で値を割り当てていく。一連の同一の処理を 別々のファイルに入力する時などに使用する。
history :::::::::::::::::::::::::: コマンド の履歴リストを表示する。
historyn :::::::::::::::::::::::: コマンド 履歴リストの中から最新の、n個を選び 出して表示する。
history -r n :::::::::::::::::::: コマンド 履歴リストの中から最新の、n個を選び 出し、順序を逆にして表示する。
history -h n :::::::::::::::::::: コマンド 履歴リストの中から最新の、n個をコマ ンド 番号を付けないで表示する。
jobs ::::::::::::::::::::::::::::: 現在実行中のジョブのリストを表示する。
jobs -l :::::::::::::::::::::::::: 現在実行中のジョブとそのプロセス番号のリスト を表示する。
kill %jobnumber ::::::::::::::::: ジョブ番号jobnumberのジョブを強制終了させる。
kill pid ::::::::::::::::::::::::: プロセス ID番号 pid のプロセスを強制終了させ る。killコマンド は、文字通りプロセスの息の根 を止めてしまうので再開させることはできない。
limit :::::::::::::::::::::::::::: ファイルやデータのサイズなどに関する資源の利 用制限(すなわちどれだけの資源利用を許可されて いるか)を表示する。
limit resource ::::::::::::::::::: resourceで示される資源の利用制限を表示する。
limit resource maxuse ::::::::::: resourceで示される資源の利用制限をmaxuseに設 定する。
login :::::::::::::::::::::::::::: 自分の使用している端末を別のユーザにすぐ に渡 す時に使用すると便利なコマンド です。ホスト名 を入力する必要がなく、すぐ にログ イン名を聞い てくる。
logout ::::::::::::::::::::::::::: ログアウトして、UNIXシステムの利用を終了す る。
nohup :::::::::::::::::::::::::::: ハングアップシグナルを無視して、ジョブの実行 を継続する。バックグラウンド ジョブを実行中に ログアウトするとジョブは強制終了される。これ を回避するためには、.logoutファイルに、nohup という一文を加えれば良い。
notify ::::::::::::::::::::::::::: バックグラウンド で実行中のジョブの終了などを 通知する。
notify %jobnumber ::::::::::::::: バックグラウンド で実行中のジョブ番号jobnumber のジョブの終了などを通知する。
popd ::::::::::::::::::::::::::::: デ ィレクトリスタックから、先頭のデ ィレクト リ を削除して、新たに先頭になったデ ィレクトリに 移動する。
popd +n ::::::::::::::::::::::::: ディレクトリスタックから、n番目のディレクトリ を削除する。
pushd :::::::::::::::::::::::::::: デ ィレクトリスタックの先頭の2つのデ ィレクト リの順序を入れ換えて、新たに先頭になったデ ィ レクトリに移動する。
pushd dir ::::::::::::::::::::::::: デ ィレクト リ dirをデ ィレクト リスタックに入れ て、そこへ移動する。
pushd +n :::::::::::::::::::::::: デ ィレクトリスタックのn番目のデ ィレクト リを 先頭にし、そこへ移動する。
repeat count command ::::::::::: commandに示されるコマンド をcount回繰り返す。
set :::::::::::::::::::::::::::::: 設定されているシェル変数の値を表示する。@ コ マンド と同じ。
setvariable :::::::::::::::::::::: 変数variableに空文字列(nullstring)を与える。
setvariable = word :::::::::::::: 変数variableにwordという値を与える。
setvariable[n] = word :::::::::::: 変数 name のn 番目の単語にwordという値を与 える。
setvariable = (word1 word2 …) :: 変数variableにword1 word2 …といういくつかの 単語の並びを値として与える。
setenv variable value ::::::::::::: 環境変数variableに、valueという値を与える。
stop ::::::::::::::::::::::::::::: バックグラウンド で実行中のジョブを一時中断す る。
stop %jobnumber ::::::::::::::::: バックグラウンド で実行中のジョブ番号jobnumber のジョブを一時中断する。
time command ::::::::::::::::::: コマンド commandの実行時間などを表示する。
umask :::::::::::::::::::::::::::: umask(ユーザマスク)の設定値を表示する。umask はファイルのパーミッションに関連したコマンド で、ユーザが新たにファイルやディレクトリを作成 した場合に、パーミッションの既定値として
umask value :::::::::::::::::::::: umask の値をvalueに設定する。
unaliasname :::::::::::::::::::: nameという名前の別名の定義を削除して、別名の 使用を無効とする。
unlimit :::::::::::::::::::::::::: 全ての資源利用を無制限とする。
unlimitresource ::::::::::::::::: limit コマンド で設定した、資源resourceの利用 制限を解除する。
unset variable :::::::::::::::::::: シェル変数variableを解放する。
while(expr) ::::::::::::::::::::::
command1
comman2
end
式exprを評価した結果が真(6=0)である間は、while と end の間の一連のコマンド (command1,
com-mand2,…)の実行を繰り返す。式の値が偽(=0)で あれば、ループを抜け出す。
jobname& :::::::::::::::::::::::: jobnameで示されるジョブ(単なるコマンド でも良 い)をバックグラウンド で実行する。
@ ::::::::::::::::::::::::::::::::: 設定されているシェル変数の値を表示する。sf set コマンド と同じ。
@ variable = value :::::::::::::::: シェル変数variableにvalueという値を与える。
@ variable[n] = value :::::::::::::: シェル変数variable のn番目の単語にvalueとい う値を与える。