2012年4月4日水曜日

UNIXのお勉強④

【11章 csh入門】p119 〜 p151

■シェル…コマンドを実行する際に利用する.
〜「コマンドを実行する」までの処理〜
(1)プロンプトを出力し,コマンドの入力を促す.
(2)キーボードでキーを押す→コンピュータに文字が送られる.
 →シェルは,送られてきた文字をenterキーが押されるまで蓄える.
(3)enterキーが押されたら,蓄めておいた文字列を空白などで区切り,コマンド       の名前の文字列と引数の文字列に分ける.
(4)コマンドの名前から,その名前のプログラムを見つけ出す.
(5)見つけたプログラムを起動して,引数の文字列を渡す.
(6)シェルは起動したプログラムが終了するまで待つ(特に指定しなければ).

■コマンドインタプリタ…文字列として与えられるコマンドを解釈・実行するもの.
※UNIXのコマンドインタプリタ…シェル(殻=shell)

■リダイレクション…コマンドの入力や出力を切り替えるシェルの機能
■メタキャラクタ…cshが解釈する文字(例:「<」)
■エスケープ(する)…メタキャラクタと解釈しないで単なる文字で扱う=解釈を避ける
■パターン…ファイル名を条件で指定されたものを,条件に合致するファイル名すべてと置      き換える機能がある.このファイル名の条件のこと.
■パターンとマッチする…ファイル名がパターンに適合すること.
■ファイル名置換…cshはパターンを,パターンとマッチしたファイル名に置き換えてコマン         ドを実行する.この置き換えのことを言う.
■ファイル名補完…存在するファイル名を使って,cshが入力されたファイル名を補っていく         機能.
■バックグラウンドジョブ…シェルがコマンドの終了を待たずに次のコマンドを受け付けて             欲しいことがある.そのようなコマンドの実行のこと.
■順次実行…複数のコマンドを順に実行したいときは「;」で区切ってコマンドを並べる.
■グループ化…「( )」で囲む.
■終了ステータス…コマンドを続けて実行する場合,「途中のコマンドで失敗したら以下の         コマンドは実行したくない」ことがある.その際,コマンドの成功・失         敗を簡単な整数値で表したもの.
■ヒストリ機能…以前に入力したコマンドラインを簡単に参照出来る機能.
→ヒストリ機能によって記憶している1つ1つのコマンドラインは「イベント」と呼ぶ.
<ヒストリ表示,ヒストリ置換(「!」で参照する),ヒストリの保存(セーブヒスト機能★)など,様々な機能アリ>
■エイリアス機能…コマンドに別名をつける機能.aliasコマンドを使う.取り消しには           unaliasコマンドを使う.
→(例)alias copy cpで,cpコマンドにcopyという別名がつく.
■コマンドサーチパス…コマンドを探すディレクトリのリスト.
■ディレクトリスタック…簡単な指定によりディレクトリを往復出来るように,複数のパス            名をスタックとして記憶する機能.


★シェルの主要なモノ〜「sh」と「csh」〜★
①csh…対話機能が拡張されていて,シェルを対話的に使用する場合に向いている.

→シェル変数と環境変数の2種類の変数がある.
(1)シェル変数
→コマンドから参照出来ない
→リストを値として代入出来る

(2)環境変数
→コマンドから参照出来る
→リストを値として代入出来ない

※同じ変数名でシェル変数と環境変数が両方とも定義されている場合い,その変数名で値を参照するとシェル変数の値が参照される.

②sh…コマンドの実行順序をあらかじめプログラムとして書いておくシェルプログラミング   に向いている.


■資源の制限について■
巨大なファイルを作ったり,計算時間を消費するのは他のユーザの迷惑となる.
→自主規制の仕組みとして「limit」コマンドがある!
→制限を外したい時は,「unlimit」コマンドを使う!!



11章は内容がいっぱいだった!
最後の「limit」コマンドについて.3月まで走らせていたプログラムがあって,(プログラムの組み方のせいがかなり要因なのだが)ずっと研究室のサーバで計算させていた.他のユーザで使用する人がいなかったからいいものの,もしも他にもサーバを利用したい人がいたら迷惑だったと思う..また,CPUの制限時間がもしかかっていたならば私の計算は終わっていなかったであろう….このように,何となく頭の片隅にUNIXの知識があると,いざ本番!という時に役立つのだなぁと思った.

お勉強TEXT

1 件のコメント: