新卒インフラエンジニア向けLinuC 101 試験対策シリーズの第4回です。前回は systemd で管理される「サービス」のレイヤーを学びました。今回は1段ズーム下げて、個々のプロセスとそれを動かすハードウェアを観察します。
「サーバーが重い」「メモリが足りない」「CPUが100%」——障害連絡で最初に求められるのが本記事のスキルです。ps・top・kill でプロセスを掴み、lscpu・free・lsblk・lspci でハードを確認する流れを身につけてください。
環境前提
- ディストリビューション: AlmaLinux 9.6(Sage Margay)
- カーネル: 5.14.0-570.12.1.el9_6.x86_64
- ユーザー:
developer(sudo NOPASSWD設定済み) - 関連VM:
linuc-alma(10.0.10.132) - 仮想化基盤: Hyper-V 第2世代(VMBus基盤)
- 追加導入が必要:
pciutils、usbutils(本記事第6章で導入)
今ここマップ
LinuC 101 試験対策シリーズ(全12回)
第1回 Linuxの起動・接続・停止
第2回 ブートプロセスの仕組み
第3回 systemdマスター講座
▶ 第4回 プロセス管理とハードウェア基礎 ← いまここ
第5回 仮想マシンとコンテナの基礎
第6回 パッケージ管理マスター
第7回 ファイル操作の実践
第8回 パーミッション・所有者・特殊権限
第9回 コマンドライン・リダイレクト・パイプ
第10回 テキスト処理(grep / sed / awk)
第11回 vi/vim 入門
第12回 ディスク・パーティション・ファイルシステム
この記事で身につくこと
- プロセスの状態(R/S/D/Z/T)を理解し
ps/top/pstreeで観察できる - フォアグラウンド/バックグラウンド/ジョブの違いを説明し
&/jobs/fg/bg/nohupを使い分けられる - シグナル(SIGTERM/SIGKILL/SIGHUP)を理解し
kill/pkill/killallで送信できる lscpu/free/lsblk/dmidecodeでシステムリソース情報を取得できるlspci/lsusbでハードウェアバス上のデバイスを確認できる
プロセスとは何か
プログラムをディスクに保存しただけではただのファイルです。それをカーネルがメモリに読み込み、CPU時間を割り当てた瞬間に 「プロセス」という生きた存在になります。
カーネルは各プロセスに以下の情報を紐付けて管理します:
- PID(Process ID)— プロセスの一意識別子
- PPID(Parent PID)— 親プロセスのPID(PID 1 = systemd を頂点とする木構造)
- UID/GID — どのユーザー権限で動くか
- 状態 — R/S/D/Z/T のいずれか
- 仮想メモリ・実メモリ — VSZ / RSS
- CPU時間 — 累積使用時間
これらの情報をリアルタイムに観察できれば、「何が動いていて何が重いのか」が即座に分かります。
第1章:プロセスを観察する
1.1 ps の2つの形式
ps は静的なスナップショットを表示するコマンドです。歴史的経緯から、オプション体系が BSD形式(ハイフンなし)と System V形式(ハイフンあり)の2系統あり、現代のLinuxはどちらも受け付けます。
実行コマンド(linuc-almaで実行):
$ ps aux | head
実行結果(抜粋):
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 108984 18724 ? Ss 20:26 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 31
root 2 0.0 0.0 0 0 ? S 20:26 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 20:26 0:00 [pool_workqueue_]
root 4 0.0 0.0 0 0 ? I< 20:26 0:00 [kworker/R-rcu_g]
root 5 0.0 0.0 0 0 ? I< 20:26 0:00 [kworker/R-sync_]
BSD形式は %CPU・%MEM・VSZ・RSS といったリソース使用率の情報が見やすいのが特徴です。
実行コマンド:
$ ps -ef | head
実行結果(抜粋):
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 20:26 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 31
root 2 0 0 20:26 ? 00:00:00 [kthreadd]
root 3 2 0 20:26 ? 00:00:00 [pool_workqueue_]
root 4 2 0 20:26 ? 00:00:00 [kworker/R-rcu_g]
System V形式は PPID(親プロセスID)が見えるのが特徴。プロセスの親子関係を辿りたいときに便利です。
1.2 プロセス状態(STAT)の意味
ps aux 出力の STAT 列は 1〜複数文字のプロセス状態を示します。
| 主状態 | 意味 | 覚え方 |
|---|---|---|
| R | Running / Runnable | 実行中 or 実行可能 |
| S | Interruptible Sleep | 普通のスリープ(割り込み可) |
| D | Uninterruptible Sleep | I/O待ち(割り込み不可。ストレージ問題の兆候) |
| Z | Zombie | 子プロセスが終了済みだが親が回収していない |
| T | Stopped | SIGSTOP/SIGTSTP で一時停止中 |
| I | Idle kernel thread | アイドルなカーネルスレッド |
追加文字の意味:
s(小文字s)— セッションリーダー+(プラス)— フォアグラウンドプロセスグループ<(小なり)— 高優先度(nice値が低い)N(大文字N)— 低優先度(nice値が高い)l(小文字L)— マルチスレッド
例:Ss はセッションリーダーかつスリープ、I< はアイドルなカーネルスレッドかつ高優先度、というように読みます。
1.3 プロセスツリーで親子関係を見る
プロセスは木構造になっています。pstree で可視化してください。
実行コマンド:
$ pstree | head -15
実行結果(抜粋):
systemd-+-NetworkManager---2*[{NetworkManager}]
|-agetty
|-anacron
|-auditd---{auditd}
|-chronyd
|-crond
|-dbus-broker-lau---dbus-broker
|-firewalld---{firewalld}
|-hypervkvpd
|-hypervvssd
|-irqbalance---{irqbalance}
|-polkitd---5*[{polkitd}]
|-rsyslogd---2*[{rsyslogd}]
|-sshd-+-sshd---sshd---bash---journalctl---less
| `-sshd---sshd---bash-+-head
systemd を頂点として、各サービスが枝分かれしているのが分かります。2*[{NetworkManager}] のような表記は「同名スレッドが2個」の意味(中括弧 `{}` はスレッド)。
PID付きで表示するなら -p:
実行コマンド:
$ pstree -p | head -10
実行結果(抜粋):
systemd(1)-+-NetworkManager(736)-+-{NetworkManager}(745)
| `-{NetworkManager}(746)
|-agetty(772)
|-anacron(11697)
|-auditd(695)---{auditd}(696)
|-chronyd(1154)
1.4 top — リアルタイム観察
top はリアルタイムに更新されるプロセス監視ツールです。デフォルトは3秒ごとに画面を更新します。終了は q。
本記事ではバッチモード(-b)で1回だけ取得(-n1)した出力を例示します。
実行コマンド:
$ top -bn1 | head -15
実行結果(抜粋):
top - 22:10:15 up 1:44, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 119 total, 2 running, 117 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3911.1 total, 3291.7 free, 484.6 used, 362.1 buff/cache
MiB Swap: 4040.0 total, 4040.0 free, 0.0 used. 3426.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 108984 18724 10772 S 0.0 0.5 0:01.97 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
1〜5行目のヘッダ部分には、システム全体の状態が凝縮されています。
- uptime と load average — システム稼働時間と負荷平均(1分/5分/15分)
- Tasks — 全プロセス数とその状態別内訳
- %Cpu(s) — CPU使用率の内訳(us=ユーザー、sy=システム、id=アイドル、wa=I/O待ち)
- MiB Mem / MiB Swap — メモリとスワップの使用状況
対話モードで実行中は、P キーで CPU 使用率順、M キーでメモリ使用率順に並び替えられます。よく使うショートカットを暗記するよりも、man top で確認する習慣のほうが現場では役立ちます。
📖 試験Tipsボックス:プロセス観察
主題:1.01.4 プロセスの生成、監視、終了(重要度:中〜高)
出題パターン:「プロセス状態 D の意味は?」「ゾンビプロセスの状態文字は?」「親プロセスIDはどの列に表示される?」
暗記ポイント
- 状態:R(Running), S(Sleep), D(Disk wait/uninterruptible), Z(Zombie), T(Stopped)
- BSD形式:
ps aux(%CPU/%MEM/VSZ/RSS)/ SystemV形式:ps -ef(PPID付き) - ツリー:
pstree/ps fax/pstree -p(PID付き) - top:
-b=バッチ、-n N=N回反復、終了はq
第2章:ジョブ制御 — フォア/バック
シェルから起動したコマンドは通常 フォアグラウンドで動き、その間はプロンプトが返ってきません。長時間かかるコマンドや、シェルを使い続けたい場合はバックグラウンドに回します。
2.1 ジョブ制御の基本コマンド
| 記号/コマンド | 意味 |
|---|---|
command & | バックグラウンドで起動 |
jobs | 現在のシェルのジョブ一覧 |
fg %1 | ジョブ1をフォアグラウンドへ |
bg %1 | 停止中のジョブ1をバックグラウンドで再開 |
Ctrl+Z | フォアグラウンドのジョブを一時停止(SIGTSTP) |
Ctrl+C | フォアグラウンドのジョブを終了(SIGINT) |
nohup command & | SIGHUP無視で起動(ログアウトしても継続) |
disown %1 | ジョブをシェルから切り離す |
2.2 動かして覚える
実行コマンド(対話シェルで実行):
$ sleep 60 &
実行結果(PIDは環境により異なる):
[1] 12614
[1] がジョブ番号、12614 がPIDです。
実行コマンド:
$ jobs
実行結果:
[1]+ 実行中 sleep 60 &
フォアグラウンドに戻すには:
$ fg %1
すると sleep 60 がフォアグラウンドに復帰し、終了するまでプロンプトが返ってきません。Ctrl+C で中断するか、Ctrl+Z で再度バックグラウンドに送れます。
2.3 nohup — ログアウト後も生かす
SSH接続を切ると、ログイン中に動かしていたバックグラウンドジョブは SIGHUP を受けて終了するのが既定動作です。これを防ぐのが nohup。
$ nohup ./long-batch.sh &
[1] 12345
nohup: 入力を無視し、'nohup.out' に出力を追記します
実用上は tmux や screen を使う場面が増えていますが、nohup は素早く一時的にバックグラウンド永続化したいときに有用です。SSH応用は第10回(暗号化)と関連して、より発展的なテーマとして扱います。
第3章:シグナルとプロセス終了
3.1 シグナルとは
シグナルはプロセスへの「通知」です。「終了して」「設定を再読込して」「一時停止して」などの指示をカーネル経由で送ります。
実行コマンド:
$ kill -l | head -5
実行結果:
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
新卒が必ず覚えておくべきシグナル:
| 番号 | 名前 | 意味 | 使う場面 |
|---|---|---|---|
| 1 | SIGHUP | ハングアップ(端末切断) | 多くのデーモンが「設定再読込」として解釈 |
| 2 | SIGINT | 割り込み | Ctrl+C 相当 |
| 9 | SIGKILL | 強制終了(無視・捕捉不可) | 最終手段。データ破損リスクあり |
| 15 | SIGTERM | 穏やかな終了要求(既定) | kill のデフォルト。プロセスが後始末できる |
| 17 | SIGCHLD | 子プロセスの状態変化 | 親プロセスへの通知 |
| 18 | SIGCONT | 停止中プロセスの再開 | SIGSTOP で止めたものを再開 |
| 19 | SIGSTOP | 停止(無視・捕捉不可) | 強制一時停止 |
| 20 | SIGTSTP | 端末停止 | Ctrl+Z 相当 |

3.2 kill / pkill / killall
シグナルを送るコマンドは3系統あります。
| コマンド | 指定方法 | 例 |
|---|---|---|
kill | PID指定 | kill 12345 / kill -9 12345 |
pkill | 名前パターン | pkill -f sleep |
killall | プロセス名(完全一致) | killall sleep |
シグナル指定は番号でも名前でも可:kill -15 PID、kill -SIGTERM PID、kill -TERM PID はすべて同じ意味。省略時は SIGTERM(15)です。
3.3 実機で動作確認
実行コマンド:
$ sleep 30 &
$ ps -p $!
$ kill $!
$ ps -p $!
実行結果:
[1] 12614
PID TTY TIME CMD
12614 ? 00:00:00 sleep
(プロセス終了)
$! は直前のバックグラウンドジョブのPID。kill はデフォルトで SIGTERM を送るため、sleep プロセスが穏やかに終了します。
⚠️ ヒヤリハット:いきなり kill -9 でデータ破損
新人D君は、応答が鈍くなった本番DBサーバーに対し、sudo kill -9 <mysqld-PID> を即実行。SIGKILL は プロセスが捕捉できないシグナルのため、書き込み中のトランザクションは中断、ファイルシステムキャッシュも書き戻されず、結果としてDBが破損。リカバリに半日を要しました。
教訓:kill -9(SIGKILL)は最終手段。まず kill(既定 SIGTERM)で穏やかに止めることを試す。プロセスが応答しない場合のみ、データ整合性を覚悟したうえで -9 を使う。本番運用では「-9 を使う前に systemd サービスなら systemctl restart を経由する」「DBはアプリ層の停止コマンドを優先」が鉄則。
📖 試験Tipsボックス:シグナル
主題:1.01.4(重要度:中〜高)
出題パターン:「SIGKILLの番号は?」「kill の既定シグナルは?」「設定再読込として一般的に使われるシグナルは?」
暗記ポイント
- 1=HUP, 2=INT, 9=KILL, 15=TERM, 18=CONT, 19=STOP, 20=TSTP
kill既定は SIGTERM(15)- SIGKILL(9) と SIGSTOP(19) は無視・捕捉不可(プロセスが応答できない)
- シグナル送信:
kill(PID)/pkill(名前)/killall(名前完全一致) - シグナル一覧:
kill -l
第4章:ハードウェア情報を取る
「このサーバーは何コアCPU?」「メモリ何GB?」「ディスクの構成は?」これらは新規構築・性能設計・障害切り分けで毎日使う情報です。
4.1 CPU 情報:lscpu
実行コマンド:
$ lscpu | head -15
実行結果(抜粋・linuc-alma 環境):
アーキテクチャ: x86_64
CPU 操作モード: 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
バイト順序: Little Endian
CPU: 2
オンラインになっている CPU のリスト: 0,1
ベンダー ID: AuthenticAMD
モデル名: AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
CPU ファミリー: 25
モデル: 116
コアあたりのスレッド数: 2
ソケットあたりのコア数: 1
ソケット数: 1
ステッピング: 1
BogoMIPS: 7585.74
仮想化環境では、仮想CPU数(CPU=2)とホスト物理CPUの型番(AMD Ryzen 7 7840HS)が見えます。物理CPUの能力を共有しているため、ホストの種類によってベンチマーク結果も変わります。
4.2 メモリ:free
実行コマンド:
$ free -h
実行結果:
total used free shared buff/cache available
Mem: 3.8Gi 484Mi 3.2Gi 11Mi 362Mi 3.3Gi
Swap: 3.9Gi 0B 3.9Gi
注目ポイント:
- used が多くても焦らない — Linuxは積極的にメモリをキャッシュに使う設計。重要なのは
available - available — 「アプリが新たに使える実質的なメモリ」
- buff/cache — ディスクキャッシュ。必要時にOSが解放
- Swap used が増えてきたら危険信号 — 物理メモリ不足の兆候
4.3 ストレージ:lsblk
第2回でも登場しましたが、lsblk はストレージ確認の定番です。
実行コマンド:
$ lsblk
実行結果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 48.4G 0 part
├─almalinux-root 253:0 0 44.5G 0 lvm /
└─almalinux-swap 253:1 0 3.9G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
4.4 システム情報:dmidecode
dmidecode は SMBIOS/DMI からマザーボード・BIOS・メモリスロット等の詳細情報を取得します。root権限必須です。
実行コマンド:
$ sudo dmidecode -t system
実行結果(抜粋):
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.1.0 present.
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Microsoft Corporation
Product Name: Virtual Machine
Version: Hyper-V UEFI Release v4.1
Serial Number: 7401-4648-1135-0994-7579-6727-46
UUID: a99867cf-d7ef-4b12-b460-3056cc9eaa90
Wake-up Type: Power Switch
SKU Number: None
Family: Virtual Machine
物理サーバーなら Manufacturer: Dell Inc.、Product Name: PowerEdge R740 のように出ます。-t bios / -t memory / -t processor でカテゴリ別の情報も取得可能です。
第5章:PCI / USB バスのデバイス
5.1 必要なツールを入れる
AlmaLinux 9 の Minimal Install には lspci/lsusb がありません。pciutils/usbutils パッケージを導入します。
実行コマンド:
$ sudo dnf install -y pciutils usbutils
実行結果(末尾):
pciutils-3.7.0-7.el9.x86_64 usbutils-017-1.el9.x86_64
完了しました!
5.2 lspci / lsusb の実行と Hyper-V 特有の挙動
実行コマンド:
$ lspci
$ lsusb
実行結果(linuc-alma 環境):
(出力なし — どちらも空)
「えっ、何も出ない?」となります。これはHyper-V Gen2 VM の特性です。Hyper-V Gen2 は伝統的な PCI / USB バスを仮想化せず、独自の VMBus(仮想マシンバス)でデバイスを提供します。lspci/lsusb は伝統バス向けのツールなので空になります。
VMBusデバイスは /sys/bus/vmbus/devices/ で確認できます。
実行コマンド:
$ ls /sys/bus/vmbus/devices/ | head -5
実行結果(抜粋):
1eccfd72-4b41-45ef-b73a-4a6e44c12924
242ff919-07db-4180-9c2e-b86cb68c8c55
2450ee40-33bf-4fbd-892e-9fb06e9214cf
2dd1ce17-079e-403c-b352-a1921ee207ee
39ae31d8-59bb-4573-af5d-cec24715d21c
これらのUUIDがHyper-V提供の仮想デバイス(ネットワーク・ストレージ・キーボード等)です。dmesg | grep vmbus で初期化ログも見られます。
物理サーバーや VMware ESXi、KVM、Hyper-V Gen1 では lspci がたっぷり出力されます。 試験対策としては「lspci/lsusb は使える」と覚えておき、現場では「環境によって見え方が変わる」と知っておけば十分です。
📖 試験Tipsボックス:ハードウェア確認
主題:1.05.1 ハードウェアの基礎知識と設定(重要度:中)
出題パターン:「CPU情報を取得するコマンドは?」「PCIバスのデバイスを表示するのは?」「BIOSのバージョン情報は?」
暗記ポイント
- CPU:
lscpu/ メモリ:free -h/ ストレージ:lsblk - システム/BIOS:
dmidecode(要 sudo、-t system/-t bios/-t memoryなど) - PCI:
lspci(pciutils)/ USB:lsusb(usbutils) - 仮想化環境では空・少ない出力になる場合あり(VMBus等)
現場での使いどころ
- CPU負荷アラート:
topでPキー →CPU使用率順 → 上位プロセスのコマンドラインをps -ef -p <PID>で確認 - メモリ逼迫対応:
free -hでavailableをチェック → swap使用量が増えていれば物理メモリ不足を疑う →ps aux --sort=-%mem | head - ゾンビプロセスの検出:
ps aux | awk '$8 ~ /Z/ {print}'で状態Zのプロセスを抽出 → 親プロセスの再起動を検討 - 新規サーバー受領時の確認リスト:
lscpu・free -h・lsblk・sudo dmidecode -t systemの4点セットでスペックを把握 - kill -9 は最後の手段:systemdサービスは
systemctl restart、DBはアプリ層の停止コマンド、それでもダメなときに SIGTERM、最後に SIGKILL の順
やってみよう
検証環境(linuc-alma)で順番に実行してください。演習2はジョブ制御のため対話シェル(普通のSSH接続)で実施してください。
演習1:プロセス観察
ps aux | head、ps -ef | headを実行して列の違いを比較ps fax | head -20でツリー形式pstree | head -15、pstree -p | head -10を比較top -bn1 | head -15でtopのバッチ取得- 対話で
topを起動し、P(CPU順)、M(メモリ順)、q(終了)を試す
演習2:ジョブ制御
sleep 60 &でバックグラウンド起動、ジョブ番号とPIDを確認jobsで一覧fg %1でフォアグラウンドへ、Ctrl+Zで再度サスペンドjobs、bg %1でバックグラウンドで再開kill %1でジョブ番号指定で終了
演習3:シグナル送信
sleep 300 &を3つ起動jobsとps -ef | grep sleepで確認kill -l | head -5でシグナル一覧pkill -f sleepでパターン一致終了jobsで全終了確認- 注意:本演習で
-9(SIGKILL)は使わない
演習4:ハードウェア確認
lscpu | head -15でCPU情報free -hでメモリlsblkでストレージsudo dmidecode -t systemでSMBIOSのシステム情報sudo dnf install -y pciutils usbutilsでツール導入lspci、lsusbを実行(Hyper-V Gen2では空になる)ls /sys/bus/vmbus/devices/ | headでVMBusデバイスを観察
分からないオプションは man ps、man kill、man dmidecode で確認する習慣を身につけてください。
理解度チェック
○か×で答えてください。回答と解説は次回冒頭で振り返ります。
- プロセス状態
Dは割り込み不可なI/O待ちを意味し、ストレージ問題の兆候となりうる。 killコマンドのデフォルトシグナルは SIGKILL(番号9)である。ps -ef出力には親プロセスID(PPID)が含まれる。free -hのavailable列は、アプリが新たに使える実質的なメモリ量を示す。- Hyper-V Gen2 VMで
lspciを実行すると空になるのは、VMBus 経由でデバイスが提供されるためである。
解答
- 1. ○ Disk wait(uninterruptible sleep)。長時間Dが続く場合はI/Oハング
- 2. × 既定は SIGTERM(15)。SIGKILLは
-9等で明示指定が必要 - 3. ○ System V形式の
-efは PPID列を含む。BSD形式のauxには含まれない - 4. ○ buff/cache を考慮した「すぐ使える」メモリ量
- 5. ○ Hyper-V Gen2はVMBusのみ。lspciは伝統的なPCIバス向けツール
次回予告
第5回は「仮想マシンとコンテナの基礎:KVM・Docker・Podman 入門」です。今回チラ見した「VMBus」「Hyper-V」といった仮想化技術を、Linux側から扱う方法を学びます。物理マシン/仮想マシン/コンテナの違いを整理し、KVM・Podmanで実際に動かしてみます。
LinuC 101 試験対策シリーズ 全12回
- 第1回 Linuxの起動・接続・停止:systemctl・login・shutdownの基本
- 第2回 ブートプロセスの仕組み:BIOS/UEFI → GRUB → systemd の流れ
- 第3回 systemdマスター講座:サービス管理・unitファイル・ターゲット
- 第4回 プロセス管理とハードウェア基礎(ps, top, lsblk, lspci, lsusb)(本記事)
- 第5回 仮想マシンとコンテナの基礎:KVM・Docker・Podman 入門
- 第6回 パッケージ管理マスター:dnf / apt / rpm / dpkg の実践
- 第7回 ファイル操作の実践:cp, mv, find, リンク, FHS
- 第8回 パーミッション・所有者・特殊権限(SUID/SGID/Sticky)
- 第9回 コマンドライン・リダイレクト・パイプの基礎
- 第10回 テキスト処理の三種の神器:grep / sed / awk + 正規表現
- 第11回 vi/vim 入門:現場で使えるエディタ操作
- 第12回 ディスク・パーティション・ファイルシステム(fdisk, mkfs, mount, LVM)
