アナウンス †
- 2007/06/06(水) 16:30 より、新サーバ・ネットワークシステム説明会が開催されます。参加してください。
情報工学科新サーバ・ネットワークシステム説明会のお知らせ †
情報工学科では、全学キャンパスシステムのリプレースにあわせて、この4月より学科サーバ・ネットワークシステムが新しくなりました。
新システムでは、アドレス管理や認証系、さらには、クラスタ(pw)システムなど、大変興味深い作り込みがなされています(システム設計からシステム管理アプリケーション実装まで学科サーバ班の手によって行われています)。
これらの利用方法や管理者向けの技術情報について、以下の通り説明会を実施したいと思います。
- 日時:6/6(Wed) 16:30〜
- 場所:工1-321
- 内容:前半:一般利用者向け(30分程度) 後半:管理者向け(90分程度)
- 対象:情報工学科の学部生・大学院生および教員(学科外からの参加者も歓迎します!)
- 学科システムを有効利用してもらうためにも、多数の参加をお願いします!
出席 †
プロセス復習 †
テキスト 上巻p.110 第10章プロセス
コマンド | 使い方 |
ps | プロセスの一覧表示 |
ps l | 親プロセスを含めたプロセスの一覧表示 |
ps u | 資源を含めたプロセスの一覧表示 |
ps x | 端末がないものを含めたプロセスの一覧表示 |
ps a | 他のユーザを含めたプロセスの一覧表示 |
ps aux | ps a, ps u, ps x の組み合わせた一覧表示 |
stty all | 端末の状態表示(BSD) |
stty -a | 端末の状態表示(Linux, System V) |
kill pid | プロセスID pidのプロセスを殺す |
kill -KILL pid | プロセスID pidのプロセスを殺す(必殺) |
シェル(csh)入門(SuperText 上巻 第11章 p.119) †
11.1 cshとは †
シェル
- (1)プロンプトを出力して,コマンドの入力を促す.
- (2)キーボードからの入力(文字)を Enter(Return) が押されるまで蓄える.
- (3)Enter が押されたら,蓄えておいた文字列を空白などで区切ってコマンドの名前と文字列と引数の文字列に分ける.
- e.g.) 「ps u」としても「ps u」としても同じ
- (4)コマンドの名前から,その名前のプログラムを見つけ出す.
- (5)見つけたプログラムを起動し,引数の文字列を渡す.
- (6)特に指定しなければ,シェルは起動したプログラムが終了するまで待つ.
- コマンド名 or ファイル名の補完機能: Tabキー, C^d
11.1.2 sh と csh †
- Cシェル: csh, tcsh
- Bシェル: sh, bash
11.1.4 cshの説明における「コマンド」という用語の使い方 †
- 「ps コマンド」という場合
- 「ps aux」をコマンドという場合
- 「コマンドライン」という場合
11.1.5 コマンドライン編集機能 †
キーバインディング | 機能 |
C^a | 先頭に移動 |
C^e | 最後尾に移動 |
C^f | 右に一文字移動 |
C^b | 左に一文字移動 |
C^d | カーソルの位置にある文字を消去 |
C^h | カーソル位置の直前(左)にある文字を消去 |
C^k | カーソルの右側全てを消去(バッファにコピー) |
C^y | バッファに保存されている内容をペースト(貼り付け) |
C^l | 画面全体のクリア |
C^p | 一つ前に入力したコマンドラインを表示 |
C^n | 一つ後ろのコマンドラインを表示 |
11.2 I/O リダイレクションとパイプ †
- I/O とは
- コマンドの実行結果を別のコマンドに処理させたい!
- 現在実行中のプロセス数は?
- リダイレクション)ps aux > result ; wc result
- パイプ)ps aux | wc
- 標準入力 stdin
- 標準出力 stdout
- 標準エラー出力 stderr
11.2.1 リダイレクションとは †
- 標準出力をターミナルからファイルに変更
ps aux > result
- 標準入力をターミナルからファイルに変更
cat < result
11.2.3 パイプ †
11.2.5 I/O リダイレクションとパイプの詳細 †
「$command > file」
「$command >> file」
「$command >& file」
「( $command > file1 ) >& file2」
「$command1 | $command2」
「$command1 |& $command2」
演習 †
- 「ps aux」で全プロセスを出力し,root が実行しているプロセス数を数えよ.リダイレクションを使用する方法と,パイプを使用する方法二通りを考えよ.
- ヒント1:ps aux による出力結果には,root 以外のユーザによるプロセスも含まれている.この中から root の記載されている行のみを探し出し,その行数を数えると「rootが実行しているプロセス数と考えられる.
- ヒント2:次の3行が「test.txt」というファイルに書かれているとする.
abc
1 2 3
abc 1 2 3
- このファイルから「abc」という文字列が含まれている行は
% grep abc test.txt
として抜き出すことが出来る.
- ヒント3:ファイル内の行数を数えるには
% wc -l test.txt
とする.
11.3 変数 †
- 変数
- 変数名
- 変数の値
- 変数の値を参照
- 変数に値を代入
11.3.2 シェル変数 †
11.3.3 環境変数 †
11.3.4 シェル変数と環境変数の違い †
- シェル変数はシェル毎に異なるが,環境変数は引き継がれる.
- シェル変数では変数の値にリストが許される
echo $path[1]
11.4 メタキャラクタとエスケープ †
- cshが解釈する文字=cshのメタキャラクタ
>
- メタキャラクタの機能をオフにする=エスケープ
?, '', ""
11.5 ファイル名置換 †
- main.c と subroutine.c という二つのファイルで動くプログラムを簡単にコンパイルするには?
- * と ?
- [str]
11.5.4 ファイル名補完 †
- 補完できる部分を補完: Esc, Tab
- 補完候補を表示: C^d
11.6 実行制御 †
11.7 ヒストリ機能 †
- history
- C^p, C^n もしくはカーソルキーの上下
- !
11.8 エイリアス機能 †
11.9 コマンドサーチパス †
- (1)コマンドが「/」を含めば,パス名を指定したものとして,そのプログラムを実行.
- (2)コマンドが組み込みコマンド(cdなど)なら,その組み込みコマンドを実行.
- (3)シェル変数 path を使って,実行可能なファイルがそのパスで指定されたディレクトリ内にあるかを順に探し,最初に見つけたものを実行.
- (4)以上で実行できなければ,コマンドが見つからないという表示「Command not found」を表示.
which ls
echo $path
11.10 ディレクトリスタック †
11.11 資源の制限 †