正規表現
正規表現で使える特殊文字
| 記号 | 説明 |
|---|---|
| . | 任意の文字 |
| ^ | 行の先頭 |
| $ | 行の末尾 |
| * | 直前の文字が 0 回以上の繰り返し |
| ? | 直前の文字が 0 回もしくは 1 回の繰り返し |
| + | 直前の文字が 1 回以上の繰り返し |
| [] | [] 内の文字グループと一致 |
pgrep コマンド
現在実行中のプロセスからユーザー名、UID、GID で検索する。
pgrep [オプション] [パターン]- -t 端末:指定した端末で実行されているプロセス ID を検索する。検索対象は複数指定可能。
- -u euid:指定した実効ユーザー ID に該当するプロセス ID を検索する。検索対象は複数指定可能。
- -U uid:指定した実ユーザー ID に該当するプロセス ID を検索する。検索対象は複数指定可能。
実ユーザー ID と実効ユーザー ID
- 実ユーザー ID (real UID):プログラムを起動したユーザー、プロセスの所有者
- 実効ユーザー ID (effective UID):プログラムが起動するときの権限
vi
基本概要
3 つのモードが存在。
- コマンドモード:vi コマンドを処理する。[Esc] で入力モードから切り替わる。
- 入力モード:テキストデータを入力する。
- ex モード:文書の保存や検索、置換を行う。
コマンドモード
画面表示系
| コマンド | 説明 |
|---|---|
| [ctrl] + l | 上にスクロール |
| [ctrl] + f | 下にスクロール |
| h, ← | カーソルを左に 1 文字移動 |
| j, ↓ | カーソルを下に 1 文字移動 |
| k, ↑ | カーソルを上に 1 文字移動 |
| l, → | カーソルを右に 1 文字移動 |
| 0 | 現在の行の先頭に移動 |
| $ | 現在の行の末尾に移動 |
| 1G | 1 行目へ移動 |
| n G | n 行目へ移動 |
| / 文字列 | カーソル位置から末尾に向かって検索 |
| ? 文字列 | カーソル位置から先頭に向かって検索 |
| n | 次を検索 |
| N | 前を検索 |
文字操作系
| コマンド | 説明 |
|---|---|
| x | カーソル上の 1 文字を削除 |
| dw | カーソルから次の単語を 1 単語削除 |
| dd | カーソル行を削除 |
| n x | カーソルから右に n 文字削除 |
| D | カーソルから行の最後まで削除 |
| n dd | カーソルから n 行削除 |
| dG | カーソルから最終行まで削除 |
| dH | 画面の 1 行目からカーソル行まで削除 |
| yy | カーソル行をコピー |
| yw | 単語のコピー |
| P | カーソル行の上の行に貼り付け |
| p | カーソル行の下の行に貼り付け |
| u | 最後の編集の取り消し |
| . | 最後の編集の繰り返し |
入力モード
切り替えコマンド
| コマンド | 説明 |
|---|---|
| i | カーソルの前に文字を挿入 |
| a | カーソルの後に文字を挿入 |
| o | カーソル行の下に新しい行を作成し、先頭から挿入 |
| I | カーソル行の先頭に文字を挿入 |
| A | カーソル行の末尾に文字を挿入 |
| O | カーソル行の上に新しい行を作成し、先頭から挿入 |
ex モード
保存操作系
| コマンド | 説明 |
|---|---|
| :w | 上書き保存 |
| :w! | 強制上書き保存 |
| :w ファイル名 | 別名保存 |
| :q | 保存せず終了 |
| :q! | 強制で保存せず終了 |
| :wq | 保存して終了 |
| ZZ | 保存して終了 |
| :wq! | 強制で保存して終了 |
| :wq ファイル名 | 別名で保存して終了 |
| :! コマンド | コマンドを実行 |
| :e! | 編集内容を破棄してファイルを再読み込み |
| :set オプション | オプション機能を有効化 |
| :set no オプション | オプション機能を無効化 |
オプション
| オプション | 説明 |
|---|---|
| number | 行番号を表示 |
| ignorecase | 大文字小文字を区別しない |
| list | タブや行末文字など通常表示されない文字を表示 |
| all | すべてのオプションを表示 |
ホームディレクトリに .exrc ファイルを作成することでオプション指定可能。
プロセス管理
プロセスを表示するコマンド
- ps:プロセスの情報を表示する基本的コマンド
- pstree:プロセスの階層構造を表示するコマンド
- top:プロセスの情報を周期的にリアルタイムに表示するコマンド
一番最初に起動するプロセス
どちらともプロセス ID は 1 となる。
- CentOS 6.X:SysV init
- CentOS 7.X:systemd
ps コマンドのオプション種類
- UNIX オプション: – を指定する。
- BSD オプション: – を指定しない。
- GNU オプション: — を指定する。
| オプション種類 | オプション | 説明 |
|---|---|---|
| UNIX | -e | すべてのプロセスを表示する |
| UNIX | -f | 詳細情報を表示する |
| UNIX | -l | 長いフォーマットで詳細情報を表示する |
| UNIX | -o | ユーザー定義のフォーマットで表示する |
| BSD | a | すべてのプロセスを表示する |
| BSD | u | 詳細情報を表示する |
| BSD | x | 制御ターミナルの無いプロセスも表示する |
表示項目
- PID:プロセス ID
- TTY:制御しているターミナル
- TIME:実効時間
- CMD:コマンド (実行ファイル名)
- NI:優先度
top コマンド
CPU 使用率の高い順に表示する。
- -d 秒数:更新の間隔を秒単位で指定
- -n 数値:表示の回数を数値で指定
free コマンド
システムの空きメモリと利用メモリの量を表示する。
pstree コマンド
プロセスの親子関係を表示する。
- -h:カレントプロセスとその先祖プロセスを強調表示
- -H PID:指定したプロセスとその先祖プロセスを強調表示
- -P:プロセス ID をつけて表示
優先度
nice コマンド
指定した数値の優先度を付与する。デフォルトは +10 となる。
nice [オプション] [コマンド]- -n:優先度を指定 (-20 ~ 19)
- 動的優先度:CPU 使用時間をもとに計算される。
- 静的優先度:nice コマンドで指定する。
renice コマンド
実行中のプロセスの優先度を変更する。
renice [オプション]- -p:PID を指定する。
ジョブ
- フォアグラウンドジョブ:キーボードと画面を占有するジョブ
- バックグラウンドジョブ:入力を受け取れないジョブ
jobs
バックグラウンドジョブと一時停止中のジョブを表示する。 [ctrl] + Z でジョブを一時停止する。
- bg %ジョブ ID:バックグラウンドへ移行する
- fg %ジョブ ID:フォアグラウンドへ移行する
nohup コマンド
ログアウトしてもコマンドを実行し続ける。
nohup コマンド [引数]uptime コマンド
システム化稼働している期間を表示する。
主なシグナル
| シグナル番号 | シグナル名 | 説明 |
|---|---|---|
| 1 | SIGHUP | タームなるの切断によるプロセスの終了 |
| 2 | SIGINT | 割り込みによるプロセスの終了 |
| 9 | SIGKIILL | プロセスの強制終了 |
| 15 | SIGTERM | プロセスの通常終了 |
| 18 | SIGCONT | 一時停止したプロセスを再開する |
| 20 | SIGTSTP | プロセスの一時停止 |
kill コマンド
指定したジョブを終了する。
kill [オプション] [シグナル名 | シグナル番号] プロセス ID
kill [オプション] [シグナル名 | シグナル番号] %ジョブ ID
killall [オプション] [シグナル名 | シグナル番号] プロセス名
pkill [オプション] [シグナル名 | シグナル番号] プロセス名watch コマンド
指定したコマンドを繰り返し実行する。
watch コマンド- -nm –internal:間隔指定
tmux コマンド
1 つの物理画面から多数のターミナルを制御する。
- セッション:tmux の管理下にある仮想端末の集合
- ウィンドウ:セッション内で管理される仮想ウィンドウ
- デタッチ:セッションから切断
- アタッチ:デタッチしたセッションに再接続
- プレフィックスキー:ctrl + b で指示を出す
コメント