一般的に使用される CLI コマンドを使い、Linux サーバー上のプロセス、ディスク、サービス、ユーザー、およびシステムリソースを管理します。
プロセス管理
ps
コマンド
ps (プロセスの状態) コマンドは、現在のプロセスのスナップショットを表示します。
一般的なオプション
|
オプション |
説明 |
|
-A |
すべてのプロセスを表示します。 |
|
-a |
制御端末上のすべてのプロセスを表示します。 |
|
-e |
すべてのプロセスを表示します。-A と同等です。 |
|
-f |
UID、PPID、C、STIME 列を含むフルフォーマットの一覧を表示します。 |
|
-u |
実効ユーザー別にプロセスを表示します。 |
|
-U |
実ユーザー別にプロセスを表示します。 |
|
-x |
制御端末を持たないすべてのプロセスを表示します。 |
その他のオプションについては、man ps を実行してください。
例
-
すべてのプロセスを表示します。
ps -ef -
フルフォーマットで、キーワードに一致するすべてのプロセスを検索します。
ps -ef | grep <key_word><key_word>は実際のキーワードに置き換えてください。 -
制御端末を持たないものを含め、キーワードに一致するすべてのユーザープロセスを検索します。
ps -aux | grep <key_word><key_word>は実際のキーワードに置き換えてください。 -
プロセスツリーを表示します。
ps -ejH -
スレッド情報を含むすべてのプロセスを表示します。
ps -eLf -
ユーザー定義フィールドを使用してスレッド情報を表示します。
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm -
PID を指定して特定のメトリックを照会します。この例では、PID 1 に対して
comm=を指定すると、コマンド名が返されます。ps -q 1 -o comm=
top
コマンド
top コマンドは、実行中のプロセスとシステムリソース使用状況をリアルタイムで動的に表示します。
一般的なオプション
|
オプション |
説明 |
|
-d |
更新間隔を指定します。 |
|
-p |
PID を指定してプロセスの状態を監視します。 |
|
-s |
top をセキュアモードで実行し、危険な可能性がある対話型コマンドを無効にします。 |
|
-i |
アイドルプロセスとゾンビプロセスを無視します。 |
|
-c |
コマンド名だけでなく、コマンドラインを表示します。 |
top コマンド出力のフィールド
次の図は、top コマンド出力のフィールドを示しています。値はサンプリング期間によって異なるため、参考値です。

フィールド
例
-
特定のサンプリング間隔でのシステムメトリックの照会
3 秒間隔でシステムメトリックを照会します:
top -d 3説明top のデフォルトのサンプリング間隔は 5 秒です。
-
top コマンドインターフェイスのカスタマイズ
デフォルトでは、システム情報サマリーとプロセスリストのフィールド セクションで説明されているフィールドが表示されます。
fを押して表示する列を選択し、列の順序を並べ替えます。
次の表は、top コマンドインターフェイスを管理するためのキーを示しています。
キー
説明
↑ and ↓
上下にスクロールしてフィールドを選択します。
→
列全体を選択します。UP または DOWN を押して移動します。
Space
フィールドの表示/非表示を切り替えます。アスタリスク (*) は、フィールドが表示されていることを示します。
s
現在の列をソート列として設定します。
q
top コマンドインターフェイスを終了します。
-
対話モードでの top コマンドの使用
top を実行すると、キーを押して表示を制御できる対話モードに入ります。
キー
説明
1
論理 CPU ごとの状態を表示します。
u
ユーザー名でプロセスをフィルターします。
E
メモリ単位を KiB、MiB、GiB、TiB、PiB、または EiB に切り替えます。
x
ソート列を強調表示します。
y
実行中のプロセスを強調表示します。
?
ヘルプ情報を表示します。
-
PID によるプロセス名とディレクトリの照会
topを実行して、プロセスの PID を確認します。この例では、aliyun-service プロセスの PID は 1325 です。
aliyun-service プロセスのディレクトリを照会します:
cd /proc/1325 ls -ail
-
PID によるプロセスの終了
対話モードで
kを押し、PID を入力してEnterを押すと、プロセスを終了させることができます。
kill
コマンド
kill コマンドは、シグナルを送信してプロセスを終了させます。
一般的なオプション
|
オプション |
説明 |
|
-l |
使用可能なシグナル名をすべて表示します。 |
|
-L |
シグナル名と対応する番号をすべて表示します。 |
例
-
すべてのプロセスを終了させます。
sudo kill -9 -1 -
番号が 11 のシグナル名を表示します。
sudo kill -l 11 -
シグナル名と対応する番号をすべて表示します。
sudo kill -L -
PID を指定してプロセスを終了させます。
sudo kill -9 <PID><PID>は実際の PID に置き換えてください。
killall
コマンド
killall コマンドは、名前に一致するすべてのプロセスを終了させます。
一般的なオプション
|
オプション |
説明 |
|
-g |
プロセスグループ内のプロセスを終了させます。 |
|
-i |
プロセスを終了させる前に、ユーザーに確認を求めます。 |
|
-v |
シグナルが送信されたかどうかを報告します。 |
例
top プロセスを終了させます。
sudo killall top
システム情報
uname コマンドと dmidecode コマンドを使用して、システム情報とハードウェア情報を照会します。
uname
コマンド
uname コマンドはシステム情報を表示します。
一般的なオプション
|
オプション |
説明 |
|
-a |
すべてのシステム情報を表示します。 |
|
-s |
カーネル名を表示します。 |
|
-n |
ネットワークノードのホスト名を表示します。 |
|
-r |
カーネルリリースを表示します。 |
|
-v |
カーネルバージョンを表示します。 |
|
-m |
マシンハードウェア名を表示します。 |
|
-P |
プロセッサタイプを表示します。 |
|
-i |
ハードウェアプラットフォーム情報を表示します。 |
|
-o |
オペレーティングシステム情報を表示します。 |
例
-
すべてのシステム情報を照会します。
uname -a -
uname -mまたはarchを実行して CPU アーキテクチャを照会できます。出力はアーキテクチャによって異なります。Arm アーキテクチャのコマンド出力

x86 アーキテクチャのコマンド出力

dmidecode
dmidecode コマンドは、DMI テーブルを介してシステムの BIOS からハードウェア情報を抽出します。これには、以下の情報などが含まれます:
-
システム情報:ベンダー、名前、バージョン、シリアル番号 (SN)、モデル。
-
プロセッサ情報:モデル、速度、コア数。
-
メモリ情報:スロット数、サイズ、タイプ、速度。
-
マザーボード情報:ベンダー、バージョン、SN。
-
BIOS 情報:バージョンとリリース日。
-
電源情報:仕様とモデル。
-
デバイス情報:ネットワークアダプターなどのハードウェアコンポーネント。
-
DMI テーブルからすべてのハードウェア情報を表示します。
sudo dmidecode -
特定のタイプのエントリのみを表示するには、
-tオプションを使用します。たとえば、メモリのエントリを表示する場合:sudo dmidecode -t memory
物理 CPU とメモリ情報
-
コアの総数 = 物理 CPU 数 × 物理 CPU あたりのコア数
-
論理 CPU の総数 = 物理 CPU 数 × 物理 CPU あたりのコア数 × ハイパースレッディング係数
次のコマンドで、物理 CPU とメモリ情報を確認します。
-
物理 CPU 数を確認します。
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l -
物理 CPU あたりのコア数を確認します。
cat /proc/cpuinfo | grep "cpu cores" | uniq -
論理 CPU 数を確認します。
cat /proc/cpuinfo | grep "processor" | wc -l -
CPU モデルを確認します。
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c -
メモリ情報を確認します。
cat /proc/meminfo
CPU 詳細の確認
lscpu を実行して、CPU の詳細を確認します。出力はアーキテクチャによって異なります。
-
Arm アーキテクチャのコマンド出力

-
x86 アーキテクチャのコマンド出力

オペレーティングシステム情報の確認
cat /proc/version を実行して、オペレーティングシステム情報とコンパイラバージョンを確認します。出力はアーキテクチャによって異なります。
-
x86 アーキテクチャのコマンド出力

-
Arm アーキテクチャのコマンド出力

ディスク管理
df
コマンド
df コマンドは、ファイルシステムのディスク領域の使用量を報告します。
一般的なオプション
|
オプション |
説明 |
|
-a |
疑似ファイルシステム、重複したファイルシステム、アクセスできないファイルシステムを含みます。 |
|
-B |
ブロックサイズを指定されたサイズにスケーリングして出力します。 |
|
-h |
1,024 を倍率として、人間が判読可能な形式でサイズを表示します。例:1023M。 |
|
-H |
1,000 を倍率として、人間が判読可能な形式でサイズを表示します。例:1.1G。 |
|
-k |
--block-size=1K と同等です。 |
|
-l |
ローカルファイルシステムの一覧を表示します。 |
|
-t |
指定されたタイプのファイルシステムに関する情報を表示します。 |
例
ディスク領域の使用量を MB 単位で照会します。
df -BM
出力例:
Filesystem 1M-blocks Used Available Use% Mounted on
tmpfs 742M 22M 721M 3% /run
/dev/vda3 39943M 2542M 35556M 7% /
tmpfs 3708M 0M 3708M 0% /dev/shm
tmpfs 5M 0M 5M 0% /run/lock
tmpfs 742M 1M 742M 1% /run/user/0
lsblk
コマンド
lsblk コマンドは、ブロックデバイスの詳細を表示します。
一般的なオプション
|
オプション |
説明 |
|
-a |
空のデバイスとメモリディスクデバイスを含むすべてのデバイスを表示します。 |
|
-b |
サイズをバイト単位で表示します。 |
|
-f |
ファイルシステム情報を表示します。 |
例
-
ファイルシステム情報とあわせてブロックデバイスを照会します。
lsblk -f出力例:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS vda |-vda1 |-vda2 vfat FAT32 6175-F96E `-vda3 ext4 1.0 df02e0a1-d28d-41b1-99c2-58f2b684cc79 34.7G 6% / -
ディスクのシリアル番号を照会します。
このメソッドは Linux ディストリビューションによって異なります。Alibaba Cloud Linux 3、CentOS 7、または Ubuntu 18 の場合:
-
OS にマウントされているブロックストレージデバイスを照会します。
lsblk -
ブロックストレージデバイスのシリアル番号を照会します。たとえば、/dev/vda のシリアル番号を照会します:
udevadm info --query=all --name=/dev/vda | grep ID_SERIAL
-
blkid
コマンド
blkid コマンドは、ブロックデバイスの属性を表示します。
例
ブロックデバイス属性の照会
blkid /dev/vda
出力例:
/dev/vda: PTUUID="bdee1c7f-46fc-4838-9a74-9exxxxxxxxaf" PTTYPE="gpt"
fdisk
コマンド
fdisk コマンドは、ディスクのパーティションテーブルを管理します。
一般的なオプション
|
オプション |
説明 |
|
-l |
指定されたデバイスのパーティションテーブルを表示します。 |
|
-u |
パーティション情報をシリンダーではなくセクター単位で表示します。 |
例
すべてのディスクのパーティションテーブルをセクター単位で照会します。
sudo fdisk -lu
出力例:
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BDEE1C7F-46FC-4838-9A74-9E57F8FD63AF
Device Start End Sectors Size Type
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 83886046 83472351 39.8G Linux filesystem
mount
コマンド
mount コマンドは、ファイルシステムをマウントします。
一般的なオプション
|
オプション |
説明 |
|
-a |
|
|
-L |
指定されたラベルを持つパーティションをマウントします。 |
|
-r |
ファイルシステムを読み取り専用でマウントします。 |
|
-w |
ファイルシステムを読み取り/書き込みでマウントします。 |
|
-U |
指定された |
例
-
/etc/fstabファイルに設定されているすべてのファイルシステムをマウントします。sudo mount -a -
ファイルシステムを読み取り/書き込みでマウントします。
sudo mount -w /dev/vdb1 /mnt
umount
コマンド
umount コマンドは、ファイルシステムをアンマウントします。
一般的なオプション
|
オプション |
説明 |
|
-r |
アンマウントに失敗した場合、ファイルシステムを読み取り専用で再マウントします。 |
|
-a |
|
|
-t |
アンマウントするファイルシステムのタイプを指定します。複数のタイプはコンマ (,) で区切ります。 |
|
-f |
ファイルシステムを強制的にアンマウントします。 |
例
パーティションからファイルシステムを強制的にアンマウントします。
sudo umount -f /dev/vdb1
サービス管理
systemctl
コマンド
systemctl コマンドは、systemd サービスおよびユニットを管理します。
主なオプション
|
オプション |
説明 |
|
-a |
ロードされているすべてのユニットまたは属性を表示します。 |
主なユニットコマンド
|
コマンド |
説明 |
|
start |
指定されたロード済みのユニットを起動します。 |
|
stop |
指定されたロード済みのユニットを停止します。 |
|
restart |
指定されたロード済みのユニットを再起動します。 |
|
reload |
指定されたユニットの設定を再読み込みします。 |
|
status |
指定されたユニットの実行状態を表示します。主な状態:
|
主なユニットファイルコマンド
|
コマンド |
説明 |
|
enable |
指定されたユニットまたはユニットインスタンスを有効化します。 |
|
disable |
指定されたユニットまたはユニットインスタンスを無効化します。 |
使用例
-
NGINXサービスを再起動します。sudo systemctl restart nginx -
NGINXサービスの実行状態を確認します。sudo systemctl status nginx -
NGINXサービスの起動時の自動起動を有効にします。sudo systemctl enable nginx -
起動時の自動起動が有効になっているすべてのサービスを一覧表示します。
sudo systemctl list-unit-files --type=service --state=enabled
リソース使用状況
lsof
コマンド
lsof コマンドは、オープンファイルとそれに関連するプロセスを一覧表示します。
lsof がプリインストールされていない場合は、パッケージマネージャーでインストールしてください。
-
Alibaba Cloud Linux、CentOS、RHEL:
sudo yum install lsof。 -
Ubuntu、Debian:
sudo apt install lsof。
一般的なオプション
|
オプション |
説明 |
|
-p |
プロセスが開いているファイルを表示します。 |
|
-l |
出力のユーザー ID をユーザー名に置き換えます。 |
|
-u |
ユーザーが開いているファイルを表示します。 |
|
-c |
|
|
-d |
特定のファイルディスクリプタを含むオープンファイルを表示します。 |
|
-i |
指定した条件に一致するオープンファイルを表示します。オプション:
|
コマンド出力
次の図は、lsof コマンドの出力を示しています。

出力のフィールド:
|
オプション |
説明 |
|
COMMAND |
コマンド名。 |
|
PID |
プロセス ID。 |
|
TID |
スレッド ID。空欄の場合はプロセスを示します。 |
|
TASKCMD |
タスク名。通常は COMMAND と同じです。 |
|
USER |
ユーザー ID またはログインユーザー名。 |
|
FD |
ファイルディスクリプタ。 |
|
TYPE |
ファイルに関連するノードタイプ。 |
|
DEVICE |
デバイス番号。 |
|
SIZE/OFF |
ファイルサイズまたはバイト単位のオフセット。 |
|
NODE |
ファイルのノード番号。 |
|
NAME |
マウントポイントとファイルシステム名。 |
例
-
プロセスが開いているファイルを照会します。
sudo lsof -p 11は実際の PID に置き換えてください。 -
ユーザーが開いているファイルを照会します。
sudo lsof -u <user-name><user-name>は実際のユーザー名に置き換えてください。 -
特定のファイルを開いているプロセスに関する情報を照会します。
sudo lsof <file-name><file-name>は実際のファイル名に置き換えてください。 -
IPv4 ネットワーク接続で開いているファイルを照会します。
sudo lsof -i 4
netstat
コマンド
netstat コマンドは、ネットワーク接続、ルーティングテーブル、およびプロトコル統計を表示します。
一般的なオプション
|
オプション |
説明 |
|
-t |
TCP 接続のみを表示します。 |
|
-u |
UDP 接続のみを表示します。 |
|
-i |
ネットワークインターフェースの一覧を表示します。 |
|
-n |
ホスト名への名前解決を行わず、数値アドレスを表示します。 |
|
-l |
リスニングソケットのみを表示します。 |
|
-p |
接続に関連するプロセスを表示します。 |
|
-s |
ネットワーク統計を表示します。 |
例
-
ポート 8000 でリッスンしている接続を照会します。
netstat -tunlp | grep 80008000は実際のポート番号に置き換えてください。 -
すべてのリスニング TCP ポートと、関連するプロセスを照会します。
netstat -ntlp
vmstat
コマンド
vmstat (仮想メモリ統計) コマンドは、仮想メモリ、プロセス、CPU 統計を出力します。
一般的なオプション
構文:
vmstat [-n] [delay [count]]
|
オプション |
説明 |
|
-n |
列ヘッダーを 1 回だけ表示します。 |
|
[delay] |
時間間隔 (秒) です。このオプションを指定しない場合、レポートは 1 回だけ出力されます。 |
|
[count] |
更新回数です。[delay] のみを指定した場合、vmstat は無期限に実行されます。終了するには |
例
CPU 使用率を 1 秒間隔で 4 回表示します:
vmstat -n 1 4
出力例:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2684984 310452 2364304 0 0 5 17 19 35 4 2 94 0 0
0 0 0 2687504 310452 2362268 0 0 0 252 1942 4326 5 2 93 0 0
0 0 0 2687356 310460 2362252 0 0 0 68 1891 4449 3 2 95 0 0
0 0 0 2687252 310460 2362256 0 0 0 0 1906 4616 4 1 95 0 0
主要フィールド:
-
r: CPU の実行を待っているスレッド数です。値が大きいほど、システムの処理が遅いことを示します。
-
us: ユーザーモードでの CPU 時間です。50% を超える場合は、プログラムの最適化が必要であることを示します。
-
sy: カーネルモードでの CPU 時間です。
-
wa: I/O 待ちの CPU 時間です。値が高い場合は、ランダムディスクアクセスの過多、またはディスクのボトルネックが発生している可能性があります。
-
id: CPU アイドル時間です。この値が 0 のままで sy が us の 2 倍である場合、CPU リソース不足が発生しています。
ユーザーログイン情報
ユーザーのログイン記録は、次のファイルに保存されます:
-
ユーザーログイン情報は、
/var/run/utmp、/var/log/wtmp、/var/log/btmp、および/var/log/lastlogに記録されます。 -
who、w、およびusersコマンドは、/var/run/utmpから現在のログインユーザーを取得します。 -
lastコマンドは、/var/log/wtmpから現在および過去のログインユーザーを取得します。 -
lastbコマンドは、/var/log/btmpから失敗したログイン試行を取得します。 -
lastlogコマンドは、/var/log/lastlogから各ユーザーの直近のログイン情報を取得します。
who
who コマンドは、現在のログインユーザーを照会します。出力例:

w
w コマンドは、現在のログインユーザーとそのアクティブなタスクを表示します。出力例:

users
users コマンドは、現在のログインユーザーのユーザー名を表示します。出力例:

last
last コマンドは、現在および過去のログイン記録を表示します。出力例:

lastb
lastb コマンドは、失敗したログイン試行を表示します。出力例:

lastlog
lastlog コマンドは、各ユーザーの直近のログイン情報を表示します。出力例:

cat /var/log/secure
cat /var/log/secure コマンドは、ユーザー認証に関するログイン記録を表示します。出力例:

ユーザー管理
useradd、wheel、passwd、userdel を使用して、システムユーザーと権限を管理します。
useradd
コマンド
useradd コマンドは、ユーザーを作成します。作成後に cat /etc/passwd | grep username を実行して確認します。
-
root または sudo 権限が必要です。
-
作成後にユーザーのパスワードを設定する必要があります。
-
ユーザー作成前に、プライマリグループと補助グループが存在している必要があります。
一般的なオプション
|
オプション |
説明 |
|
-d |
ホームディレクトリ。デフォルト: |
|
-m |
ホームディレクトリを作成します。 |
|
-s |
ログインシェル。デフォルト: |
|
-g |
プライマリグループ。グループが存在している必要があります。 |
|
-G |
補助グループ。複数のグループはカンマ (,) で区切ってください。 |
|
-p |
暗号化されたパスワード。例:
|
|
-u |
数値のユーザー ID。 |
|
-e |
YYYY-MM-DD 形式のアカウントの有効期限。 |
例
-
カスタムのホームディレクトリとシェルを指定して、ユーザー
jackを作成します。useradd -m -d /home/jack -s /bin/bash jackcat /etc/passwd | grep jackを実行してユーザーを確認します:jack:x:1000:1000::/home/jack:/bin/bashユーザーのパスワードを設定します:
passwd jack -
補助グループ
developersにユーザーaliceを作成します。useradd -m -G developers alice -
ユーザー ID 1001 を指定して、ユーザー
bobを作成します。useradd -m -u 1001 bob -
root 権限を持つユーザーを作成します:
重要root 権限は必要な場合にのみ付与してください。
-
ユーザー
johnを作成します。useradd john -
パスワードを設定します。
passwd john -
sudo 権限を付与するために、ユーザーを
wheelグループに追加します。grep '^wheel:' /etc/groupを実行して所属を確認します。sudo usermod -aG wheel john -
sudo 権限をテストします。新しいユーザーに切り替えて
sudoコマンドを実行します。su - john sudo ls /rootパスワードの入力を求められ、
/rootディレクトリの内容が表示される場合、ユーザーは sudo 権限を持ち、リモートログインに使用できます。 -
(オプション) sudoers ファイルを編集して、特定の権限を追加します。
sudo visudo
-
userdel
コマンド
userdel コマンドは、ユーザーを削除します。
一般的なオプション
|
オプション |
説明 |
|
-r |
ホームディレクトリとその中のファイルを削除します。 |
|
-f |
ログイン中の場合でも、ユーザーを強制的に削除します。 |
例
-
ユーザー
johnを削除します。root に切り替えて、
cat /etc/passwd | grep johnでホームディレクトリを確認します:john:x:1001:1001::/home/john:/bin/bashホームディレクトリを残したまま、ユーザー
johnを削除します:userdel john -
ホームディレクトリとその中のファイルを含めて、ユーザー
johnを削除します。userdel -r john -
ユーザーを強制的に削除します。
userdel -f username
wheel
コマンド
wheel は、スーパーユーザー (root) に切り替えるための su コマンドへのアクセスを制御するユーザーグループです。
-
wheelグループはデフォルトで存在します。存在しない場合は、sudo groupadd wheelで作成してください。 -
デフォルトでは、すべてのユーザーが su を実行し、root のパスワードを入力して root に切り替えることができます。
-
root へのアクセスを制限するには、wheel グループのメンバーのみが su を使用して root に切り替えられるように wheel グループを設定します。
例
-
ユーザーが wheel グループに所属しているかどうかを確認します。
groups username -
ユーザーを wheel グループに追加します。
sudo usermod -aG wheel usernamevisudoを実行して/etc/sudoersを編集します。%wheel ALL=(ALL) ALLの行により、wheel グループのメンバーはすべてのコマンドでsudoを使用できます。wheel メンバーにパスワードなしの sudo を許可するには、行を次のように変更してください:
%wheel ALL=(ALL) NOPASSWD: ALL