#navi(ソフトウェア演習I/12)
#contents
//*moodle
//-https://tarkus.eva.ie.u-ryukyu.ac.jp/moo/

*シェルの設定 [#j292e481]
-[[MacOSX/tcsh]]
-[[MacOSX/zsh]]
*ファイルとディレクトリ(SuperText (上)p.94) [#n671ac00]
**ファイル [#x573f100]
 ファイルとは,情報の入れ物
**ディレクトリ [#ybfd9d80]
 ディレクトリとは,ファイルの管理情報をまとめた物で,通常,階層構造をとる.
**ルートディレクトリ [#nee9132d]
 階層化ディレクトリ構造の最上位のディレクトリ,もしくは,木構造の根にあたるディレクトリ.通常「/」で指定.
**ホームディレクトリ [#h106661d]
 ユーザーに割り当てられたディレクトリ.ログイン直後や,cdコマンド(引数なし)によって,入るディレクトリ.

*パス [#t33e00d4]
UNIXでは,ファイルやディレクトリを指定するのに木構造をルートディレクトリから「/」で区切って指定します.
たとえば,lsコマンドは,
 /bin/ls
mnewsコマンドは,
 /usr/local/bin/mnews

*ターミナルコマンド(UNIXコマンド) [#v13407a9]
Terminal(ターミナル)アプリケーション( iTerm,ターミナル等)で使います.
**リストコマンド [#j569f23c]
 % ls
 % ls -l
 % ls -a
 % ls -F
 % ls -laF
**コピーコマンド [#efc35120]
 % cp コピー元ファイル名 コピー先ファイル名

**man コマンド:オンラインマニュアルを表示する [#aff50c67]
lsコマンドのオンラインマニュアルを読む.
 % man ls

**sudo コマンド:他のユーザになりかわり,コマンドを実行 [#n6102d54]

**pwdコマンド(カレントワーキングディレクトリ)print working directory [#n9cf9d5d]
 % pwd
 Users/j01234
**cdコマンド(チェンジディレクトリ) [#j67a33f9]
 % cd /usr/local/bin
 % pwd
 /usr/local/bin
 % cd
 % pwd
 User/e01234
*ディレクトリの作成 [#p784db0b]
**mkdirコマンド [#uad4fc36]
 % mkdir dir1

*ファイルとディレクトリの属性 [#nfc02ff1]
SuperText (上) p.105

 drwxr-xr-x  e01234  e03   directory
  rwx------  e01234  e03   file
**chmodコマンド [#d149b1fa]
パーミッションの変更
|文字|意味|h
|u|user|
|g|group|
|o|others|
|a|all|
|||
|r|read|
|w|write|
|x|execute|
**chownコマンド [#z8fd1077]
所有者(owner)の変更
**chgrpコマンド [#u4a13d2f]
グループの変更
**モードとマスク (教科書 21章 p.326) [#idb440e8]
モード:ファイルの型とアクセス権を制御する16ビット(8進数表現する)
モードは,ls -lコマンドで左側に表示される.
|上位4bit|uid|gid|sticky|user|group|others|h
|型|s|s|t|rwx|rwx|rwx|
|1111|1|1|1|111|111|111|
型:
|ls -l|上位4bit(8進表現)|上位4bit|意味|h
|-|010|1000|plain file(通常のファイル)|
|d|004|0100|ディレクトリ|
|l|012|1010|シンボリックリンク|
|c|002|0010|文字型デバイスファイル|
|b|006|0110|ブロック型デバイスファイル|
|s|014|1100|socket|
|p|001|0001|名前付きパイプ|

例:
 % ls -l
 drwxr-xr-x    2 koji     teach        4096 Jun 27 08:51 public_html/
 -rw-r--r--    1 koji     teach           4 Jul  4 00:41 test.txt

よく使われるモード
|ls -lの表示|8進数|h
|rw-r--r--|644|
|rwxr-xr-x|755|
|rw-------|600|
|rwx------|700|
 例:
 % chmod 755 file1
 % chmod g+r file2
**8進数 [#qee8edff]
|2進数|8進数|パーミッション|h
|111|7|rwx|
|110|6|rw-|
|101|5|r-x|
|100|4|r--|
|011|3|-wx|
|010|2|-w-|
|001|1|--x|
|000|0|---|

*プロセス(Process) [#cead3ecf]
テキスト 上巻p.110 第10章プロセス
**プロセスの属性 [#qf7ea38e]
プロセスの表示
 % ps
-PID:プロセスID
-TT:端末情報
-STAT
--R (Runnable)→実行可能状態
--D (Disk)→ディスク入出力中
--S (Sleep),I (Idle)→入力待ち
--Z (Zombie)→処理完了待ち
--T (Traced)→一時停止中か,デバッグ対象
-TIME:CPU時間
-COMMAND:起動したコマンド

 % ps u
 % ps l

**プロセスを殺す [#j896f1ea]
+Ctrl+Cで殺す
+psコマンドを実行し,PIDをしらべて,
 % kill PID

*プロセス(Process) [#k0afcc1e]
テキスト 上巻p.110 第10章プロセス
**プロセスの属性 [#vad4382b]
プロセスの表示
 % ps
-PID:プロセスID
-TT:端末情報
-STAT
--R (Runnable)→実行可能状態
--D (Disk)→ディスク入出力中
--S (Sleep),I (Idle)→入力待ち
--Z (Zombie)→処理完了待ち
--T (Traced)→一時停止中か,デバッグ対象
-TIME:CPU時間
-COMMAND:起動したコマンド

 % ps u
 % ps l


*10.1 プロセスとは [#f7ae3743]
-プログラムとプロセス
-マルチプロセス
-プロセス単位による保護,資源割り当て
**10.1.2 プロセスの操作 [#rfc03a9c]
-新しくプロセスを作る,プログラムを実行する: ls, grep
-動いているプロセスを調べる: ps, jobs
-動いているプロセスを殺す: C^c, kill
-(動いているプロセスを一時的に止める)
-(一時的に止まっているプロセスの実行を再開させる)
-(プロセスの優先順位を変える)
-(プロセスの実行の様子を調べる)

*10.3 プロセスの観察: ps [#waf17293]
-PID, TT, STAT, TIME, COMMAND
 man -k terminal

**10.3.2 デーモンプロセスと端末 [#db277897]
-デーモンプロセス
 ps aux
-バックグラウンドジョブ,フォアグラウンドジョブ
-プロセスとユーザ

**10.3.5 プロセスの親子関係: ps l [#n3c7aa7c]
-親プロセス PPID

**10.5 プロセスを殺そう [#xb49c271]
- キーによるプロセスの強制終了: 
 % C^c
または,
 % C^¥
(¥は,半角(\バックスラシュ))
- kill コマンドによるプロセスの強制終了:
 % kill -KILL $PID
**演習 [#df402405]
-ターミナルを二つ実行する.
-ターミナル1で emacs を起動する.
-ターミナル2で emacs のプロセスIDを確認し,そのジョブを強制終了させよ.

*プロセスまとめ [#xc14fce5]
テキスト 上巻p.110 第10章プロセス
|コマンド|使い方|h
|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'''のプロセスを殺す(必殺)|

#navi(ソフトウェア演習I/12)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS