アナウンス

  • 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 auxps 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)コマンドの名前から,その名前のプログラムを見つけ出す.
    • 詳細は 11.9 にて
  • (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 パイプ

  • コマンドの実行結果を標準出力から標準入力に変更
    e.g.) ps aux | wc
    「ps aux」による出力を「wc」への入力に変更

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 シェル変数

  • set
    set test=123
    echo $test
    unset test

11.3.3 環境変数

  • setenv
    setenv test 123
    echo $test
    unsetenv test

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 実行制御

  • フォアグラウンドジョブ
  • バックグラウンドジョブ: コマンド実行時に,コマンドライン最後尾に「&」を付ける
  • 順次実行
    $command1 ; $command2 ; $command3
  • コマンド1が正常終了ならコマンド2を実行
    $command1 && $command2
  • コマンド1が異常終了ならコマンド2を実行
    $command1 || $command2

11.7 ヒストリ機能

  • history
  • C^p, C^n もしくはカーソルキーの上下
  • !

11.8 エイリアス機能

  • コマンドに別名を付ける
    alias $name $command-line
  • エイリアス設定の表示
    alias
  • エイリアスの削除
    unalias $name
  • シェルスクリプトではできないエイリアスの応用
  • why?) シェルスクリプトでは,新しいシェルを起動してスクリプトを実行する.そのスクリプト内で変更されたシェル変数は,新しいシェルのものであり,元のシェル変数はそのまま保たれているため.

11.9 コマンドサーチパス

  • (1)コマンドが「/」を含めば,パス名を指定したものとして,そのプログラムを実行.
  • (2)コマンドが組み込みコマンド(cdなど)なら,その組み込みコマンドを実行.
  • (3)シェル変数 path を使って,実行可能なファイルがそのパスで指定されたディレクトリ内にあるかを順に探し,最初に見つけたものを実行.
  • (4)以上で実行できなければ,コマンドが見つからないという表示「Command not found」を表示.
     which ls
     echo $path

11.10 ディレクトリスタック

  • pushed /etc
    pushed
    poped

11.11 資源の制限

  • limit
    limit $resource $value
    unlimit $resource


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-20 (木) 14:45:26 (2364d)