はじめに
本投稿は、よく調べるLinuxコマンドを解説しているページのリンクを貼り、さらにその中でよく使うオプション例をメモ書きしておくものです。
逐次、追記していきます
1. ファイル操作関連
記述コマンド
1.1 rm
1.2 mv
1.3 cp
1.4 touch
1.5 mkdir
1.6 file
1.1 rmコマンド(削除)
リンク
オプション |
説明 |
-r |
中身も含めてディレクトリ削除 |
-w |
実行経過表示 |
-f |
強制実行 |
-i |
削除確認あり |
1.2 mvコマンド(名前変更/移動)
リンク
書式
オプション |
説明 |
-f |
強制上書き |
-i |
上書き確認あり |
-b |
上書きバックアップ指定 |
-n |
上書き禁止 |
-w |
詳細情報表示 |
1.3 cpコマンド(複製)
リンク
書式
オプション |
説明 |
-v |
実行内容表示 |
-n |
上書き禁止 |
-f |
強制上書き |
-b |
上書きバックアップ指定 |
-i |
上書き確認あり |
-r |
ディレクトリコピー |
-p |
パーミッションと所有者とタイムスタンプを保持する |
1.4 touchコマンド(複製)
リンク
書式
オプションなしの場合、空ファイルを作成できる。
オプション |
説明 |
-t |
タイムスタンプ更新 CCYYMMDDhhmmss |
-c |
ファイルを作らない |
-m |
ctimeのみ変更 |
-r |
指定したファイルのタイムスタンプに合わせる |
1.5 mkdirコマンド(ディレクトリの作成)
リンク
書式
オプション |
説明 |
-m |
パーミッション指定 |
-p |
階層通り作成 |
-v |
経過表示 |
1.6 fileコマンド(ファイルの確認)
リンク
書式
オプション |
説明 |
-z |
圧縮ファイルの中身も検査 |
-L |
シンボリックリンクの参照先 |
-f |
ファイルリストから読み込む |
2. パフォーマンス測定
参考記事:Linuxパフォーマンス調査などで使うコマンドメモ
記述コマンド
2.1 ps
2.2 top
2.3 vmstat
2.4 iostat
2.5 vnstat
2.1 PSコマンド(プロセス情報)
リンク
PSコマンドのよく使うオプション例
#ps aux --sort pid
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.2 165200 10148 ? Ss 09:25 0:04 /sbin/init #and-04/29/2024
root 2 0.0 0.0 0 0 ? S 09:25 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 09:25 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 09:25 0:00 [rcu_par_gp]
root 7 0.0 0.0 0 0 ? I 09:25 0:01 [kworker/u8:0-events_power_efficient]
...
表記説明
表記内容
項目 |
説明 |
VSZ |
仮想メモリサイズ |
RSS |
物理メモリサイズ |
STAT |
プロセスの状態 |
STAT
項目 |
説明 |
R |
実行可能 |
S |
割り込み可能Wait |
D |
Disk I/O待ち |
Z |
ゾンビプロセス |
+ |
フォアグランド |
s |
セッションリーダー |
< |
優先度:高 |
N |
優先度:低 |
l |
マルチスレッド |
セッションリーダー
2.2 topコマンド(CPU利用率のモニタ)
一定間隔でリアルタイムに情報を表示更新していくコマンド
Ctrl+Cもしくはqで中断させるまで動作する。
リンク
書式
オプション |
説明 |
-d |
更新間隔 秒数で指定[ss.tt] |
-n |
表示を繰り返す回数 |
-p |
PID指定(複数指定可能) |
-i |
何もしていないアイドルプロセスを表示/非表示(起動後は[i]で切替) |
-S |
累積時間モード(起動後は[S]で切替) |
-o |
出力表示項目の指定(-Oで指定可能項目表示) |
topコマンドのよく使うオプション例
top - 11:14:50 up 1:49, 2 users, load average: 0.28, 0.26, 0.21
Tasks: 205 total, 1 running, 204 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.7 us, 1.4 sy, 0.0 ni, 96.5 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
MiB Mem : 3900.0 total, 2804.3 free, 681.1 used, 414.6 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 3154.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1981 root 20 0 315276 76064 10576 S 5.6 1.9 6:21.40 python3
1627 redis 20 0 62088 6312 3828 S 2.6 0.2 2:46.64 redis-server
1882 root 20 0 90144 74964 12996 S 1.0 1.9 1:36.32 python3
2416 root 20 0 0 0 0 I 1.0 0.0 0:10.88 kworker/1:2-events
2512 root 20 0 9036 3316 2552 R 1.0 0.1 0:00.12 top
12 root 20 0 0 0 0 I 0.3 0.0 0:17.40 rcu_sched
22 root 20 0 0 0 0 S 0.3 0.0 0:02.24 ksoftirqd/2
1163 root 20 0 22700 6516 5696 S 0.3 0.2 0:01.07 systemd-logind
1767 lightdm 20 0 1370268 90168 57216 S 0.3 2.3 0:11.91 lightdm-gtk-gre
1881 root 20 0 308184 72440 17432 S 0.3 1.8 0:25.90 daphne
1985 root 20 0 387576 74808 10564 S 0.3 1.9 0:03.93 python3
2320 root 20 0 0 0 0 I 0.3 0.0 0:02.71 kworker/u8:1-devfreq_wq
2441 root 20 0 0 0 0 I 0.3 0.0 0:01.33 kworker/3:1-events
表示内容
top - 11:14:50 up 1:49, 2 users, load average: 0.28, 0.26, 0.21
top - 現在時刻 up 稼働時間, ログインユーザー数, ロードアベレージ: 1分間、5分間、15分間
ロードアベレージ:平均的にどれだけプロセスが実行待ちになっているか
LoadAverage(ロードアベレージ)とは一体何者?
Tasks: 205 total, 1 running, 204 sleeping, 0 stopped, 0 zombie
Tasks: タスクの合計数, 稼働中タスク, 待機中タスク, 停止中タスク, ゾンビタスク
%Cpu(s): 1.7 us, 1.4 sy, 0.0 ni, 96.5 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
CPU状態の割合
表記 |
説明 |
us |
ユーザープロセス使用時間 |
sy |
システムプロセス使用時間 |
ni |
実行優先度を変更したユーザープロセス使用時間 |
id |
アイドル状態時間 |
wa |
I/O待機時間 |
hi |
ハードウェア割り込み要求時間 |
si |
ソフトウェア割り込み要求時間 |
st |
OS仮想化時に他の仮想CPUで待たされた時間 |
MiB Mem : 3900.0 total, 2804.3 free, 681.1 used, 414.6 buff/cache
メモリ使用量
表記 |
説明 |
total |
メモリ合計容量 |
free |
未使用メモリ容量 |
used |
使用中メモリ容量 |
buff/cache |
バッファキャッシュ/ページキャッシュに割り当てられたメモリ |
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 3154.3 avail Mem
スワップ領域:この領域をどんどん使用していく状態だと遅くなる。
表記 |
説明 |
total |
合計容量 |
free |
未使用容量 |
used |
使用中容量 |
avail Mem |
スワップせずに使えるメモリ容量 |
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1981 root 20 0 315276 76064 10576 S 5.6 1.9 6:21.40 python3
表記 |
説明 |
PR |
プロセスの静的優先度 |
NI |
プロセスの相待優先度 |
VIRT |
仮想メモリサイズ |
RES |
使用中の物理メモリサイズ |
SHR |
使用中の共有メモリサイズ |
S |
プロセス状態 R:実行中、S:スリープ中、I:アイドル、T:停止中、Z:ゾンビ |
%CPU |
CPU使用率 |
%MEM |
物理メモリ使用率 |
+TIME |
CPU使用時間 |
2.3 vmstatコマンド(統計情報を表示)
仮想メモリやCPU、ディスクI/Oの統計情報を表示するコマンド
リンク
書式
vmstatコマンドのよく使うオプション例
統計情報
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 2823128 47768 425696 0 0 8 1 115 143 2 1 97 0 0
表示内容
procs
表記 |
説明 |
r |
実行中と実行待ち中のプロセス数の合計 |
b |
割り込み不可能なスリープ状態にあるプロセス数 |
memory
表記 |
説明 |
swpd |
仮想メモリ量 |
free |
未使用メモリ量 |
buff |
バッファメモリ量 |
cache |
キャッシュメモリ量 |
swap
表記 |
説明 |
si |
スワップインしているメモリ量 |
so |
スワップアウトしている量 |
io
表記 |
説明 |
bi |
I/Oから受け取ったブロック数 |
bo |
I/Oに送ったブロック数 |
system
表記 |
説明 |
in |
1秒当たりの割り込み回数 |
cs |
コンテクストスイッチの回数 |
cpu
表記 |
説明 |
us |
カーネルコード以外の実行時間 |
sy |
カーネルコードの実行に使用した時間 |
id |
アイドル時間 |
wa |
I/O待ち時間 |
st |
仮想環境実行時にCPUから割り当てられなかった時間 |
メモリ統計情報
メモリ統計情報が表示される。
3993592 K total memory
697700 K used memory
115520 K active memory
906944 K inactive memory
2822300 K free memory
47880 K buffer memory
425712 K swap cache
0 K total swap
0 K used swap
0 K free swap
103545 non-nice user cpu ticks
0 nice user cpu ticks
60606 system cpu ticks
5006713 idle cpu ticks
661 IO-wait cpu ticks
0 IRQ cpu ticks
16474 softirq cpu ticks
0 stolen cpu ticks
387368 pages paged in
69032 pages paged out
0 pages swapped in
0 pages swapped out
5968050 interrupts
7416378 CPU context switches
1739924720 boot time
2937 forks
ディスクI/O統計情報
1:1秒間隔
10:10回表示
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
loop0 0 0 0 0 0 0 0 0 0 0
loop1 0 0 0 0 0 0 0 0 0 0
loop2 0 0 0 0 0 0 0 0 0 0
loop3 0 0 0 0 0 0 0 0 0 0
loop4 0 0 0 0 0 0 0 0 0 0
loop5 0 0 0 0 0 0 0 0 0 0
loop6 0 0 0 0 0 0 0 0 0 0
loop7 0 0 0 0 0 0 0 0 0 0
zram0 0 0 0 0 0 0 0 0 0 0
mmcblk0 9866 4896 774264 8405 8810 5136 138192 34774 0 35
mmcblk0boot1 29 0 232 85 0 0 0 0 0 0
mmcblk0boot0 29 0 232 72 0 0 0 0 0 0
2.4 iostatコマンド(CPUとI/O使用率を表示)
CPUの使用率とI/Oデバイスの使用状況を表示するコマンド
リンク
書式
iostatコマンドのよく使うオプション例
Linux 5.10.198 (linaro-alip) 02/19/25 _aarch64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.99 0.00 1.50 0.01 0.00 96.49
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mmcblk0 1.38 28.02 5.22 0.00 387192 72080 0
mmcblk0boot0 0.00 0.01 0.00 0.00 116 0 0
mmcblk0boot1 0.00 0.01 0.00 0.00 116 0 0
avg-cpuはCPU使用率を表す。
Device項目
tps:1秒当たりのI/Oリクエスト数
2.5 vnstatコマンド(ネットワークtrafficモニタ)
ネットワークトラフィックの統計情報を表示するコマンド
リンク
書式
vnstatコマンドのよく使うオプション例
rx / tx / total / estimated
can0: Not enough data available yet.
dummy0: Not enough data available yet.
eth0:
2025-02 1.42 MiB / 2.66 MiB / 4.08 MiB / 2.31 MiB
today 1.42 MiB / 2.66 MiB / 4.08 MiB / 7.16 MiB
eth1:
2025-02 36.54 KiB / 62 B / 36.60 KiB / --
today 36.54 KiB / 62 B / 36.60 KiB / 63 KiB```
</details>