Linuxオペレーティングシステムはサーバーで広く使用されています。 ほとんどのLinuxサーバーオペレーティングシステムはGUIを提供しません。 この場合、Linuxサーバーの管理者はCLIを使用してサーバーと対話する必要があります。 このトピックでは、Linuxオペレーティングシステムで一般的に使用されるコマンドについて説明します。
プロセスの管理に使用するコマンド
ps
コマンド
psはProcess Statusの略です。 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
プロセスID (PID) で指定されたプロセスの特定のメトリックを照会します。 この例では、PIDは1に設定され、command=のメトリックが指定されます。
ps -q 1 -o comm=
トップ
コマンド
topコマンドは、Linuxで実行されているプロセスのリアルタイム動的ビューを表示し、システム情報の概要とLinuxカーネルによって現在管理されているプロセスのリストを表示するために使用されます。
共通オプション
オプション | 説明 |
-d | リフレッシュ頻度を指定します。 |
-p | 特定のPIDを持つプロセスのステータスを监视します。 |
-s | トップにセキュアモードで実行して、潜在的に危険なインタラクティブコマンドを無効にするように指示します。 |
-i | アイドルとゾンビプロセスを無視します。 |
-c | コマンド名だけではなく、コマンドラインを表示します。 |
トップコマンド出力のフィールド
次の図は、上位コマンド出力の特定のフィールドとフィールドの値を示しています。 フィールドの値は、サンプリング周期に基づいて変化する。 次の図は参照のためだけです。
フィールド
例
指定されたサンプリング頻度でのシステム指標の照会
次のコマンドを実行して、3秒のサンプリング頻度でシステム指標を照会します。
top 3
説明最上位のコマンドを実行してシステム指標を照会する場合、デフォルトのサンプリング頻度は5秒です。
トップコマンドインターフェイスのカスタマイズ
既定では、このトピックの [システム情報サマリおよびプロセスリストのフィールド] セクションに記載されているフィールドは、上位のコマンド出力に表示されます。 トップコマンドインターフェイスをカスタマイズするには、インターフェイス内の
f
キーを押して、表示する列を指定し、列の順序を並べ替えます。次の表に、上位コマンドインターフェイスの管理に使用できるキーを示します。
キー
説明
↑ および ↓
上下にスクロールしてフィールドを選択します。
→
列全体を選択します。 上キーまたは下キーを押して、選択した列を移動できます。
スペース
フィールドを表示または非表示にします。 アスタリスク (*) は、フィールドが表示されていることを示します。
秒
カーソルが配置されている列を並べ替え列として設定します。
q
最上位のコマンドインターフェイスを閉じて、コマンドラインに戻ります。
トップコマンドをインタラクティブモードで使用
topコマンドを実行すると、システムはインタラクティブモードになります。 インタラクティブモードでは、キーを押してコマンドをインタラクティブに使用できます。 次の表にキーを示します。
キー
説明
1
各論理CPUのステータスを表示します。
u
特定のユーザーのプロセスを表示します。
E
topコマンドのメモリ値に使用する単位を選択します。 有効な単位: KiB、MiB、GiB、TiB、PiB、およびEiB。
x
ソート列を表示します。
y
実行中のプロセスを表示します。
?
topコマンドのヘルプ情報を表示します。
殺す
コマンド
killコマンドは、Linuxのプロセスを終了するために使用します。
共通オプション
オプション | 説明 |
-l | 使用可能なすべての信号名を表示します。 |
-L | 信号名を素敵なテーブルに表示します。 |
例
すべてのプロセスを終了します。
sudo kill -9 -1
番号が11のシグナルの名前を表示します。
sudo kill -l 11
すべての信号名を素敵なテーブルに表示します。
sudo kill -L
プロセスを終了します。
sudo kill -9 <PID>
上記のコマンドの
<PID>
を実際のPIDに置き換えます。
killall
コマンド
killall
コマンドを使用して、複数のプロセスを名前で終了します。
共通オプション
オプション | 説明 |
-g | プロセスグループ内のプロセスを終了します。 |
-i | プロセスを終了する前にインタラクティブに確認を求めます。 |
-v | シグナルが送信されたかどうかを報告します。 |
例
トッププロセスを終了します。
sudo killall top
システム情報の照会に使用するコマンド
Linuxインスタンスを使用する場合、unameコマンドを実行してシステム情報を照会できます。
uname
コマンド
uname
コマンドは、システム情報を表示する場合に使用します。
共通オプション
オプション | 説明 |
-a | すべての情報を表示します。 |
-s | カーネル名を表示します。 |
-n | ネットワークノードのホスト名を表示します。 |
-r | カーネルリリースを表示します。 |
-v | カーネルのバージョンを表示します。 |
-m | マシンハードウェア名を表示します。 |
-P | プロセッサタイプを表示します。 |
-i | ハードウェアプラットフォームを表示します。 |
-o | オペレーティングシステムを表示します。 |
例
すべてのシステム情報を照会します。
uname -a
ディスクの管理に使用するコマンド
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% /
blkid
コマンド
blkid
コマンドは、ブロックデバイス属性を表示するために使用されます。
例
ブロックデバイスの属性を照会します。
blkid /dev/vda
次のコマンド出力が返されます。
/dev/vda: PTUUID="bdee1c7f-46fc-4838-9a74-9exxxxxxxxaf" PTTYPE="gpt"
fdisk
コマンド
fdisk
コマンドは、Linuxでディスクパーティションテーブルを管理するために使用されます。
共通オプション
オプション | 説明 |
-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
コマンドは、ファイルシステムをマウントするために使用されます。
共通オプション
オプション | 説明 |
-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
コマンドは、サービスを管理するために使用されます。
共通オプション
オプション | 説明 |
-a | 読み込まれたすべての単位または属性を表示します。 |
一般的なユニットコマンド
コマンド | 説明 |
start | 指定された読み込み単位を開始します。 |
stop | 指定された読み込み単位を停止します。 |
restart | 指定された読み込み単位を再起動します。 |
リロード | 指定したユニットの設定をリロードします。 |
status | 指定したユニットの実行時ステータス情報を表示します。 サービスの一般的な実行時ステータス:
|
一般的な単位ファイルコマンド
コマンド | 説明 |
enable | 指定したユニットまたはユニットインスタンスを有効にします。 |
disable | 指定したユニットまたはユニットインスタンスを無効にします。 |
例
NGINX
サービスを再起動します。sudo systemctl restart nginx
NGINX
サービスのステータスを確認します。sudo systemctl status nginx
システム起動時に自動的に開始するように
NGINX
サービスを設定します。sudo systemctl enable nginx
リソース使用量の管理に使用するコマンド
lsof
コマンド
lsof
コマンドは、開いているファイルを表示するために使用します。
使用するLinuxディストリビューションにlsofツールがプリインストールされていない場合は、パッケージ管理ツールを使用してIsofツールをインストールできます。
Alibaba Cloud Linux、CentOS、RHEL:
sudo yum install lsof
UbuntuとDebian:
sudo apt install lsof
共通オプション
オプション | 説明 |
-p | 特定のプロセスによって開かれたファイルを表示します。 |
-l | 出力でユーザーIDをユーザー名に置き換えます。 |
-u | 特定のユーザーが開いたファイルを表示します。 |
-c | 特定のキーワードを含む開いているファイルを |
-d | 特定のファイル記述子を含むオープンファイルを表示します。 |
-i | 指定した条件に一致するオープンファイルを表示します。 オプション-iオプション:
|
コマンド出力
Isofコマンドの出力を次の図に示します。
コマンド出力のオプションを次の表に示します。
オプション | 説明 |
コマンド | コマンド名。 |
PID | PID。 |
TID | スレッドID (TID) 。 空白のTIDはプロセスを示す。 |
TASKCMD | タスク名。ほとんどの場合、COMMAND値と同じです。 |
USER | ユーザーIDまたはログオンユーザー名。 |
FD | ファイル記述子。 |
タイプ | ファイルに関連付けられているノードのタイプ。 |
デバイス | デバイス番号。 |
サイズ /オフ | ファイルのサイズまたはファイルのオフセット (バイト単位) 。 |
ノード | ファイルのノード。 |
名前 | ファイルが存在するマウントポイントとファイルシステムの名前。 |
例
特定のプロセスによって開かれたファイルを照会します。
sudo lsof -p 1
上記のコマンドの
1
を実際のPIDに置き換えます。特定のユーザーが開いたファイルを照会します。
sudo lsof -u <user-name>
上記のコマンドの
<user-name>
を実際のユーザー名に置き換えます。特定のファイルを開くプロセスに関する情報を照会します。
sudo lsof <file-name>
上記のコマンドの
<file-name>
を実際のファイル名に置き換えます。IPv4ネットワーク接続に関連付けられた開いているファイルを照会します。
sudo lsof -i 4
netstat
コマンド
netstat
コマンドは、TCPやUDPのポートやプロセスなど、ネットワークの状態やプロトコルの統計情報を表示するために使用されます。
共通オプション
オプション | 説明 |
-t | TCPオプションのみを表示します。 |
-u | UDPオプションのみを表示します。 |
-i | ネットワークインターフェイスの一覧を表示します。 |
-n | ホスト名に解決する代わりに、数値アドレスを表示します。 |
-l | リスニングソケットのみを表示します。 |
-p | ネットワーク接続に関連付けられているプロセスを表示します。 |
-s | ネットワーク統計を表示します。 |
例
ポート8000に関するネットワーク統計を照会します。
netstat -tunlp | grep 8000
上記のコマンドの
8000
を実際のポート番号に置き換えます。リスニング状態にあるすべてのTCPポートと、そのポートを使用するプロセスを照会します。
netstat -ntlp