manコマンド

オンラインコマンドマニュアル

$ man man

プロセス(Process)

プロセスとは

  • プログラムとプロセス
  • マルチプロセス
  • プロセス単位による保護,資源割り当て

10.1.2 プロセスの操作

  • 新しくプロセスを作る,プログラムを実行する: ls, grep
  • 動いているプロセスを調べる: ps, jobs
  • 動いているプロセスを殺す: C^c, kill
  • (動いているプロセスを一時的に止める)
  • (一時的に止まっているプロセスの実行を再開させる)
  • (プロセスの優先順位を変える)
  • (プロセスの実行の様子を調べる)

プロセスの属性

プロセスの表示

% ps
  • PID:プロセスID
  • TT:端末情報
  • STAT
    • R (Runnable)→実行可能状態
    • D (Disk)→ディスク入出力中
    • S (Sleep),I (Idle)→入力待ち
    • Z (Zombie)→処理完了待ち
    • T (Traced)→一時停止中か,デバッグ対象
  • TIME:CPU時間
  • COMMAND:起動したコマンド
% ps u
% ps l

プロセスを殺す

  1. Ctrl+Cで殺す
  2. psコマンドを実行し,PIDをしらべて,
    % kill PID

10.3 プロセスの観察: ps

  • PID, TT, STAT, TIME, COMMAND
    man -k terminal

10.3.2 デーモンプロセスと端末

  • デーモンプロセス
    ps aux
  • バックグラウンドジョブ,フォアグラウンドジョブ
  • プロセスとユーザ

10.3.5 プロセスの親子関係: ps l

  • 親プロセス PPID

10.5 プロセスを殺そう

  • キーによるプロセスの強制終了:
    % C^c
    または,
    % C^¥
    (¥は,半角(\バックスラシュ))
  • kill コマンドによるプロセスの強制終了:
    % kill -KILL $PID

プロセスまとめ

コマンド使い方
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のプロセスを殺す(必殺)

ファイルとディレクトリの属性

広義のファイル

  • 普通のファイル
  • 広義のファイル
    • 名前があるファイル
    • 読み書きできるファイル
    • プロセス間のデータのやりとり

ファイルシステム

  • コンピュータのリソースを操作するための、オペレーティングシステム (OS) が持つ機能の一つ
  • UNIXではシステムの資源をファイルとしてアクセスする
  • 階層化ディレクトリ構造:木構造

ハードリンクとシンボリックリンク

  • ln
    • ハードリンク
      % ln oldname newname
    • シンボリックリンク
      % ln -s oldname newname
  • ノード番号を表示
    % ls -li

ファイルとディレクトリに関するいくつかの技

  • ファイルをディレクトリ以下にコピー
    % cp file1 file2 file3 dir
  • ディレクトリ単位のコピー
    % cp -r olddir newdir
  • ディレクトリ単位の削除
    % rm -r dirname
  • ディレクトリ以下に移動
    % mv file1 file2 file3 dir
  • 「-」からはじまる名前のファイルの削除
    % rm ./-filename

バイナリファイル

  • od
    % od -x filename

モードとマスク

drwxr-xr-x  e01234  e03   directory
 rwx------  e01234  e03   file
  • モード:ファイルの型とアクセス権を制御する16ビット(8進数表現する)
  • モードは,ls -lコマンドで左側に表示される.
    上位4bituidgidstickyusergroupothers
    sstrwxrwxrwx
    1111111111111111

型:

ls -l上位4bit(8進表現)上位4bit意味
-0101000plain file(通常のファイル)
d0040100ディレクトリ
l0121010シンボリックリンク
c0020010文字型デバイスファイル
b0060110ブロック型デバイスファイル
s0141100socket
p0010001名前付きパイプ

chmodコマンド

パーミッションの変更

文字意味
uuser
ggroup
oothers
aall
rread
wwrite
xexecute

chownコマンド

所有者(owner)の変更

chgrpコマンド

グループの変更

例:

% 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進数
rw-r--r--644
rwxr-xr-x755
rw-------600
rwx------700
例:
% chmod 755 file1
% chmod g+r file2

8進数

2進数8進数パーミッション
1117rwx
1106rw-
1015r-x
1004r--
0113-wx
0102-w-
0011--x
0000---

set-uidビット,set-gidビット

実行ファイルのOwner,Groupの権限でユーザが実行するためのモード ユーザ e155701 グループ e15 が,以下のコマンドhogehogeを実行したとき,

モードコマンド実効ユーザ実効グループ
通常-rwxr-xr-x e155701 e15 hogehogee155701e15
set-uidビットがオン-rwsr-xr-x root wheel hogehogeroote15
set-gidビットがオン-rwxr-sr-x root wheel hogehogee155701wheel
% ls -l /{,usr/,usr/local/}{,s}bin/ | grep 'r[-w]s'

上記のコマンドで,set-uidビット,set-gidビットが立っているファイルを探そう.

stickyビット

ディレクトリのOtherに対して適用されて,任意のユーザに読み書き可のディレクトリ下の削除権限をオーナーのみに限るモード(これがオンでないとき,誰にでも読み書きできるうえに,削除もされてしまう.)

% ls -ld /private/tmp 
drwxrwxrwt    18 root  wheel   612 Jul  6 10:26 /private/tmp/

というように,otherの実行ビットのところがtで表示される.

% ls -l /{,private/} | grep 'r[-w]t'

上記のコマンドでstickビットが立っているディレクトリを探そう.

知っていると便利なコマンド

  • whatis
  • which
  • whereis
  • du
  • cmp
  • diff
  • comm
  • head
  • tail
  • wc
  • split
  • cat
  • script
  • find
    $ find . -name '*.c'

Pager ページャ

  • more
  • less
  • lv

正規表現

正規表現とは

  • ある規則に基づいて文字列の集合を表す1つの方法

メタキャラクタ

メタキャラクタ表現
.任意の1文字
^行の先頭
$行の終わり
[ ]範囲内の任意の1文字
*0回以上の繰り返し
+1回以上の繰り返し
?あるかないか
\タグ付き正規表現
または
( )グループ化

^a.*tion$

用法:

%  look  . | grep '^a.*tion$'
%  ls -l /{,usr/,usr/local/}{,s}bin/ | grep '^l'

関連

  • grep
    • 特定の文字や単号を含む行を抽出
  • egrep
    • 多様な正規表現が使えるgrep
  • fgrep
    • 正規表現の使えないgrep

検索

vi

  • 起動
    % vi filename
  • 終了
    :q! [return]
  • 編集部分を保存して終了
    ESC を押した後
    Z Z を入力
    または,
    ESC を押した後
    :wq [return]

検索機能

コマンド意味
/keyword順方向検索
?keyword逆方向検索
n順方向検索繰返
N逆方向検索繰返

Emacsでの検索機能

コマンド意味
C-s keyword順方向インクリメンタルサーチ
C-r keyword逆方向インクリメンタルサーチ

grep, egrep, fgrep

書式 grep keyword files

% ps aux | grep '^root'
% grep -n '^aaaa' test.txt

find

書式 find ディレクトリ名 検索条件

% find . -name hello.c -print
% find . -name '*.c' -ls 
% find . -name '*.tex' | xargs nkf --overwrite -w
% find . -name '*.c' -ctime -15 -ls
オプション意味
-atime最終アクセス時刻
-mtime最終更新時刻(ファイルの中身)
-ctime最終変更時刻(ファイルのステイタス)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-28 (木) 15:57:44 (1301d)