すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:よく使用する Linux コマンド

最終更新日:Jun 09, 2025

Linux オペレーティングシステムはサーバーで広く使用されています。ほとんどの Linux オペレーティングシステムは GUI を提供していません。この場合、管理者は CLI を使用して Linux サーバーと対話する必要があります。このトピックでは、Linux オペレーティングシステムでよく使用するコマンドについて説明します。

プロセスを管理するために使用するコマンド

ps

コマンド

ps は Process Status の略です。 ps コマンドは、システム上の現在のプロセスのスナップショットを提供するために使用されます。

よく使用するオプション

オプション

説明

-A

すべてのプロセスを表示します。

-a

現在の制御端末上のすべてのプロセスを表示します。

-e

すべてのプロセスを表示します。このオプションは、-A オプションと同様に機能します。

-f

UID、PPIP、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 に設定され、コマンドを示す comm= メトリックが指定されています。

    ps -q 1 -o comm=

top

コマンド

top コマンドは、Linux で実行中のプロセスのリアルタイムの動的表示、システム情報の概要、および Linux カーネルによって管理されるプロセスを提供します。

よく使用するオプション

オプション

説明

-d

更新頻度を指定します。

-p

PID でプロセスのステータスを監視します。

-s

top にセキュアモードで実行するように指示し、潜在的に危険なインタラクティブコマンドを無効にします。

-i

アイドルプロセスとゾンビプロセスを無視します。

-c

コマンド名だけでなく、コマンドラインを表示します。

top コマンド出力のフィールド

次の図は、top コマンド出力の特定のフィールドと対応する値を示しています。フィールドの値はサンプリング期間によって異なります。次の図は参考用です。

image

フィールド

システム情報サマリーとプロセスリストのフィールド

システム情報サマリーのフィールド

フィールド(行)

説明

top

システムに関する一般的な情報。

  • 現在の時刻。

  • up:システムの稼働時間。

  • user:アクティブユーザーの数。

  • load average:負荷平均。平均キュー長です。過去 1 分、5 分、15 分の負荷平均が表示されます。

Tasks

さまざまな状態のプロセスの統計。

  • total:プロセスの総数。

  • running:実行中のプロセスの数。

  • sleeping:スリープ中のプロセスの数。

  • stopped:停止しているプロセスの数。

  • zombie:ゾンビプロセスの数。

%Cpu(s)

CPU 使用率の統計。

  • us:ユーザープロセスの実行に費やされた CPU 時間の割合。

  • sy:カーネルプロセスの実行に費やされた CPU 時間の割合。

  • ni:nice コマンドを使用して優先順位付けされたユーザープロセスの実行に費やされた CPU 時間の割合。

  • id:CPU がアイドル状態のままである時間の割合。

  • wa:I/O の待機に費やされた CPU 時間の割合。

  • hi:ハードウェア割り込みの処理に費やされた CPU 時間の割合。

  • si:ソフトウェア割り込みの処理に費やされた CPU 時間の割合。

  • st:スティール時間。

MiB Mem

メモリ使用量の統計。

  • total:物理メモリの総量。

  • free:利用可能なメモリの量。

  • used:使用済みメモリの量。

  • buff/cache:カーネルキャッシュとバッファーに使用されるメモリの量。

MiB Swap

スワップ使用量の統計。

  • total:スワップ空間の総量。

  • free:利用可能なスワップ空間の量。

  • used:使用済みスワップ空間の量。

  • avail Mem:キャッシュされたスワップ空間の総量。

プロセスリストのフィールド

フィールド(列)

説明

PID

PID。

USER

プロセス所有者のユーザー名。

PR

プロセスのスケジューリング優先順位。値が小さいほど、優先順位が高くなります。

NI

プロセスに対して nice コマンドで指定された優先順位。

VIRT

プロセスによって使用される仮想メモリの量。

RES

プロセスによって使用される物理メモリの量。

SHR

プロセスによって使用される共有メモリの量。

S

プロセスのステータス。

  • R:実行中

  • S:スリープ中

  • Z:ゾンビ

  • D:割り込み不可能なスリープ

  • T:トレースまたは停止

%CPU

プロセスによる CPU 使用率。

%MEM

プロセスによる物理メモリ使用率。

TIME+

プロセスによって使用された CPU 時間の合計。

COMMAND

プロセスを開始するために使用されたコマンド。

  • 特定のサンプリング頻度でシステムメトリックをクエリする

    サンプリング頻度 3 秒でシステムメトリックをクエリするには、次のコマンドを実行します。

    top 3
    説明

    top コマンドを実行してシステムメトリックをクエリする場合、デフォルトのサンプリング頻度は 5 秒です。

  • top コマンドインターフェースをカスタマイズする

    デフォルトでは、このトピックの「システム情報サマリーとプロセスリストのフィールド」セクションで説明されているフィールドが top コマンド出力に表示されます。 top コマンドインターフェースをカスタマイズするには、インターフェース内で f キーを押して、表示する列を指定し、列の順序を変更します。

    image

    次の表は、top コマンドインターフェースの管理に使用できるキーについて説明しています。

    キー

    説明

    ↑ and ↓

    上下にスクロールしてフィールドを選択します。

    列全体を選択します。上矢印キーまたは下矢印キーを押して、選択した列を移動できます。

    Space

    フィールドを表示または非表示にします。アスタリスク(*)は、フィールドが表示されていることを示します。

    s

    カーソルが置かれている列をソート列として設定します。

    q

    top コマンドインターフェースを閉じて、コマンドラインに戻ります。

  • インタラクティブモードで top コマンドを使用する

    top コマンドを実行すると、システムはインタラクティブモードになります。インタラクティブモードでは、キーを押してコマンドをインタラクティブに使用できます。次の表に、キーについて説明します。

    キー

    説明

    1

    各論理 CPU のステータスを表示します。

    u

    ユーザーのプロセスを表示します。

    E

    top コマンドのメモリ値に使用する単位を選択します。有効な単位:KiB、MiB、GiB、TiB、PiB、EiB。

    x

    ソート列を表示します。

    y

    実行中のプロセスを表示します。

    ?

    top コマンドのヘルプ情報を表示します。

  • PID でプロセスの名前とディレクトリをクエリする

    top コマンドを実行して、プロセス情報をクエリします。この例では、aliyun-service プロセスが使用されます。 top コマンド出力は、aliyun-service プロセスの PID が 1325 であることを示しています。image

    aliyun-service プロセスのディレクトリをクエリするには、次のコマンドを実行します。

    cd /proc/1352
    ls -ail

    image

  • PID でプロセスを終了する

    top コマンドを実行します。インタラクティブモードで、k キーを押し、PID を入力して、Enter キーを押してプロセスを終了します。

    image

kill

コマンド

kill コマンドは、Linux でプロセスを終了するために使用されます。

よく使用するオプション

オプション

説明

-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

システム情報をクエリするために使用するコマンド

Linux インスタンスを使用する場合、uname コマンドを実行してシステム情報をクエリできます。

uname

コマンド

uname コマンドは、システム情報を表示するために使用されます。

よく使用するオプション

オプション

説明

-a

すべてのシステム情報を表示します。

-s

カーネル名を表示します。

-n

ネットワークノードのホスト名を表示します。

-r

カーネルリリースを表示します。

-v

カーネルバージョンを表示します。

-m

マシンハードウェアの名前を表示します。

-P

プロセッサタイプを表示します。

-i

ハードウェアプラットフォーム情報を表示します。

-o

オペレーティングシステム情報を表示します。

  • すべてのシステム情報をクエリします。

    uname -a

  • uname -m または arch コマンドを実行して、CPU アーキテクチャをクエリします。コマンド出力はアーキテクチャによって異なります。

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

    image

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

    image

dmidecode

dmidecode コマンドは、Linux システムの BIOS からハードウェア情報を抽出して表示するために使用されます。 dmidecode コマンドは、Desktop Management Interface(DMI)テーブルを読み取り、ハードウェア情報を人間が読める形式で表示します。 dmidecode コマンドは、以下を含むがこれらに限定されないさまざまなハードウェアの詳細を提供します。

  1. システム情報: システムのベンダー、名前、バージョン、シリアル番号 (SN)、およびモデルが含まれます。

  2. <app_name> は一意のアプリ名に置き換えます。 <mysql_name>、<mysql_username>、<mysql_password> は、任意の MySQL サーバー名、ユーザー名、パスワードに置き換えます。

  3. メモリ情報: メモリ スロット数、メモリ サイズ、メモリ タイプ、およびメモリ 速度が含まれます。

  4. マザーボード情報:マザーボードのベンダー、バージョン、およびシリアル番号 (SN) が含まれます。

  5. BIOS 情報:BIOS のバージョンとリリース日が含まれます。

  6. 電源情報:電源の仕様とモデルが含まれます。

  7. デバイス情報: ネットワークアダプターなどのさまざまなハードウェアコンポーネントに関する情報が含まれます。

  • DMI テーブルからすべてのハードウェア情報を表示します。

    sudo dmidecode

    コマンド出力例:

    # dmidecode 3.5
    Getting SMBIOS data from sysfs.  // sysfs から SMBIOS データを取得しています。
    SMBIOS 2.8 present. // SMBIOS 2.8 が存在します。
    9 structures occupying 451 bytes. // 9 つの構造体が 451 バイトを占有しています。
    Table at 0x7BBCB000. // テーブルは 0x7BBCB000 にあります。
    Handle 0x0100, DMI type 1, 27 bytes
    System Information // システム情報
            Manufacturer: Alibaba Cloud // 製造元: Alibaba Cloud
            Product Name: Alibaba Cloud ECS // 製品名: Alibaba Cloud ECS
            Version: pc-i440fx-2.1 // バージョン: pc-i440fx-2.1
            Serial Number: a430fe54-aef6-4eae-a1ef-63******beb // シリアル番号: a430fe54-aef6-4eae-a1ef-63******beb
            UUID: a430fe54-aef6-4eae-a1ef-63******beb // UUID: a430fe54-aef6-4eae-a1ef-63******beb
            Wake-up Type: Power Switch // ウェイクアップの種類: 電源スイッチ
            SKU Number: Not Specified // SKU 番号: 指定なし
            Family: Not Specified // ファミリ: 指定なし
    Handle 0x0300, DMI type 3, 21 bytes
    Chassis Information // シャーシ情報
            Manufacturer: Alibaba Cloud // 製造元: Alibaba Cloud
            Type: Other // 種類: その他
            Lock: Not Present // ロック: なし
            Version: pc-i440fx-2.1 // バージョン: pc-i440fx-2.1
            Serial Number: Not Specified // シリアル番号: 指定なし
            Asset Tag: Not Specified // 資産タグ: 指定なし
            Boot-up State: Safe // 起動状態: 安全
            Power Supply State: Safe // 電源状態: 安全
            Thermal State: Safe // 熱状態: 安全
            Security Status: Unknown // セキュリティ状態: 不明
            OEM Information: 0x00000000 // OEM 情報: 0x00000000
            Height: Unspecified // 高さ: 指定なし
            Number Of Power Cords: Unspecified // 電源コードの数: 指定なし
            Contained Elements: 0 // 含まれる要素: 0
    Handle 0x0400, DMI type 4, 42 bytes
    Processor Information // プロセッサ情報
            Socket Designation: CPU 0 // ソケットの指定: CPU 0
            Type: Central Processor // 種類: 中央プロセッサ
            Family: Other // ファミリ: その他
            Manufacturer: Alibaba Cloud // 製造元: Alibaba Cloud
            ID: 54 06 05 00 FF FB 8B 1F // ID: 54 06 05 00 FF FB 8B 1F
            Version: pc-i440fx-2.1 // バージョン: pc-i440fx-2.1
            Voltage: Unknown // 電圧: 不明
            External Clock: Unknown // 外部クロック: 不明
            Max Speed: Unknown // 最大速度: 不明
            Current Speed: Unknown // 現在の速度: 不明
            Status: Populated, Enabled // 状態: 装着済み、有効
            Upgrade: Other // アップグレード: その他
            L1 Cache Handle: Not Provided // L1 キャッシュハンドル: 提供されていません
            L2 Cache Handle: Not Provided // L2 キャッシュハンドル: 提供されていません
            L3 Cache Handle: Not Provided // L3 キャッシュハンドル: 提供されていません
            Serial Number: Not Specified // シリアル番号: 指定なし
            Asset Tag: Not Specified // 資産タグ: 指定なし
            Part Number: Not Specified // 部品番号: 指定なし
            Core Count: 1 // コア数: 1
            Core Enabled: 1 // 有効なコア数: 1
            Thread Count: 2 // スレッド数: 2
            Characteristics: None // 特徴: なし
    Handle 0x1000, DMI type 16, 23 bytes
    Physical Memory Array // 物理メモリアレイ
            Location: Other // 場所: その他
            Use: System Memory // 使用方法: システムメモリ
            Error Correction Type: Multi-bit ECC // エラー訂正タイプ: マルチビット ECC
            Maximum Capacity: 2 GB // 最大容量: 2 GB
            Error Information Handle: Not Provided // エラー情報ハンドル: 提供されていません
            Number Of Devices: 1 // デバイス数: 1
    Handle 0x1100, DMI type 17, 40 bytes
    Memory Device // メモリデバイス
            Array Handle: 0x1000 // アレイハンドル: 0x1000
            Error Information Handle: Not Provided // エラー情報ハンドル: 提供されていません
            Total Width: Unknown // 全幅: 不明
            Data Width: Unknown // データ幅: 不明
            Size: 2 GB // サイズ: 2 GB
            Form Factor: DIMM // フォームファクタ: DIMM
            Set: None // セット: なし
            Locator: DIMM 0 // ロケータ: DIMM 0
            Bank Locator: Not Specified // バンクロケータ: 指定なし
            Type: RAM // タイプ: RAM
            Type Detail: Other // タイプの詳細: その他
            Speed: Unknown // 速度: 不明
            Manufacturer: Alibaba Cloud // 製造元: Alibaba Cloud
            Serial Number: Not Specified // シリアル番号: 指定なし
            Asset Tag: Not Specified // 資産タグ: 指定なし
            Part Number: Not Specified // 部品番号: 指定なし
            Rank: Unknown // ランク: 不明
            Configured Memory Speed: Unknown // 設定済みメモリ速度: 不明
            Minimum Voltage: Unknown // 最小電圧: 不明
            Maximum Voltage: Unknown // 最大電圧: 不明
            Configured Voltage: Unknown // 設定済み電圧: 不明
    Handle 0x1300, DMI type 19, 31 bytes
    Memory Array Mapped Address // メモリ アレイ マップ アドレス
            Starting Address: 0x00000000000 // 開始アドレス: 0x00000000000
            Ending Address: 0x0007FFFFFFF // 終了アドレス: 0x0007FFFFFFF
            Range Size: 2 GB // 範囲サイズ: 2 GB
            Physical Array Handle: 0x1000 // 物理アレイハンドル: 0x1000
            Partition Width: 1 // パーティション幅: 1
    Handle 0x2000, DMI type 32, 11 bytes
    System Boot Information // システム起動情報
            Status: No errors detected // 状態: エラーは検出されませんでした
    Handle 0x0000, DMI type 0, 26 bytes
    BIOS Information // BIOS 情報
            Vendor: EFI Development Kit II / OVMF // ベンダー: EFI Development Kit II / OVMF
            Version: 0.0.0 // バージョン: 0.0.0
            Release Date: 02/06/2015 // リリース日: 02/06/2015
            Address: 0xE8000 // アドレス: 0xE8000
            Runtime Size: 96 kB // ランタイムサイズ: 96 kB
            ROM Size: 64 kB // ROM サイズ: 64 kB
            Characteristics: // 特徴:
                    BIOS characteristics not supported // BIOS の特性はサポートされていません
                    Targeted content distribution is supported // ターゲットを絞ったコンテンツ配信がサポートされています
                    UEFI is supported // UEFI がサポートされています
                    System is a virtual machine // システムは仮想マシンです
            BIOS Revision: 0.0 // BIOS リビジョン: 0.0
    Handle 0xFEFF, DMI type 127, 4 bytes
    End Of Table // テーブルの終わり
    
  • DMI テーブルから特定の種類のエントリのみを表示するには、コマンドで -t オプションを使用します。たとえば、DMI テーブルからメモリに関するエントリのみを表示するには、次のコマンドを実行します。

    sudo dmidecode -t memory

    コマンド出力例:

    # dmidecode 3.5
    Getting SMBIOS data from sysfs.
    SMBIOS 2.8 present.
    Handle 0x1000, DMI type 16, 23 bytes
    Physical Memory Array
            Location: Other
            Use: System Memory
            Error Correction Type: Multi-bit ECC
            Maximum Capacity: 2 GB
            Error Information Handle: Not Provided
            Number Of Devices: 1
    Handle 0x1100, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x1000
            Error Information Handle: Not Provided
            Total Width: Unknown
            Data Width: Unknown
            Size: 2 GB
            Form Factor: DIMM
            Set: None
            Locator: DIMM 0
            Bank Locator: Not Specified
            Type: RAM
            Type Detail: Other
            Speed: Unknown
            Manufacturer: Alibaba Cloud
            Serial Number: Not Specified
            Asset Tag: Not Specified
            Part Number: Not Specified
            Rank: Unknown
            Configured Memory Speed: Unknown
            Minimum Voltage: Unknown
            Maximum Voltage: Unknown
            Configured Voltage: Unknown

物理 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 アーキテクチャのコマンド出力

    image

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

    image

オペレーティングシステム情報のクエリ

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

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

    image

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

    image

ディスクの管理に使用するコマンド

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% /
  • ディスクの SN をクエリします。

    ディスクの SN をクエリする方法は、Linux ディストリビューションによって異なる場合があります。Alibaba Cloud Linux 3、CentOS 7、または Ubuntu 18 の場合、次の手順を実行してディスクの SN をクエリします。

    1. オペレーティングシステムにマウントされているブロックストレージデバイスをクエリします。

      lsblk
    2. ブロックストレージデバイスの SN をクエリします。たとえば、次のコマンドを実行して /dev/vda ディスクの SN をクエリします。

      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 コマンドは、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

コマンド

mount コマンドは、ファイルシステムをマウントするために使用されます。

共通オプション

オプション

説明

-a

/etc/fstab ファイルに設定されているすべてのファイルシステムをマウントします。

-L

指定されたラベルを持つパーティションをマウントします。

-r

ファイルシステムを読み取り専用でマウントします。

-w

ファイルシステムを読み書き可能でマウントします。

-U

指定された UUID を持つパーティションをマウントします。

  • /etc/fstab ファイルに設定されているすべてのファイルシステムをマウントします。

    sudo mount -a
  • ファイルシステムを読み書き可能でマウントします。

    sudo mount -w /dev/vdb1 /mnt

umount

コマンド

umount コマンドは、ファイルシステムをアンマウントするために使用されます。

共通オプション

オプション

説明

-r

アンマウントに失敗したファイルシステムを読み取り専用で再マウントします。

-a

/etc/fstab ファイルに設定されているすべてのファイルシステムをアンマウントします。

-t

アンマウントするファイルシステムのタイプを指定します。複数のファイルシステムタイプを指定する場合は、タイプをカンマ (,) で区切ります。

-f

ファイルシステムを強制的にアンマウントします。

パーティションからファイルシステムを強制的にアンマウントします。

sudo umount -f /dev/vdb1

サービスを管理するために使用するコマンド

systemctl

コマンド

systemctl コマンドは、サービスを管理するために使用されます。

共通オプション

オプション

説明

-a

ロードされているすべてのユニットまたは属性を表示します。

共通ユニットコマンド

コマンド

説明

start

指定されたロード済みユニットを起動します。

stop

指定されたロード済みユニットを停止します。

restart

指定されたロード済みユニットを再起動します。

reload

指定されたユニットの構成を再読み込みします。

status

指定されたユニットの実行時ステータスを表示します。サービスの一般的な実行時ステータス:

  • active (running): サービスはバックグラウンドで実行されています。

  • active (exited): サービスは実行され、終了しました。

  • active (waiting): サービスは実行中で、特定の条件またはイベントによってトリガーされるのを待機しています。

  • inactive: サービスは実行されていません。

共通ユニットファイルコマンド

コマンド

説明

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 ツールが Linux ディストリビューションにプリインストールされていない場合は、パッケージ管理ツールを使用して Isof ツールをインストールできます。

  • Alibaba Cloud Linux、CentOS、および RHEL: sudo yum install lsof

  • Ubuntu および Debian: sudo apt install lsof

共通オプション

オプション

説明

-p

プロセスによって開かれているファイルを表示します。

-l

出力のユーザー ID をユーザー名に置き換えます。

-u

ユーザーが開いたファイルを表示します。

-c

COMMAND 列に特定のキーワードを含む開かれているファイルを表示します。

-d

特定のファイル記述子を含む開かれているファイルを表示します。

-i

指定された条件に一致する開かれているファイルを表示します。オプションの -i オプション:

  • 46: IP バージョン。IPv4 または IPv6 を指定できます。

  • protocol: プロトコル名。TCP または UDP を指定できます。

  • hostname: ネットワーク ホスト名。

  • hostaddr: IP アドレス。

  • service: /etc/services ファイルに含まれるサービス名。

  • port: 1 つ以上のポート番号。

コマンド出力

次の図は、Isof コマンドの出力を示しています。

image

次の表は、コマンド出力のオプションについて説明しています。

オプション

説明

COMMAND

コマンド名。

PID

PID。

TID

スレッド ID ( TID )。空白の TID はプロセスを示します。

TASKCMD

タスク名。ほとんどの場合、COMMAND 値と同じです。

USER

ユーザー ID またはログイン ユーザー名。

FD

ファイル記述子。

TYPE

ファイルに関連付けられているノードのタイプ。

DEVICE

デバイス番号。

SIZE/OFF

ファイルのサイズまたはファイル オフセット ( バイト単位 )。

NODE

ファイルのノード。

NAME

ファイルが置かれているマウント ポイントとファイルシステムの名前。

  • プロセスによって開かれているファイルをクエリします。

    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

vmstat

コマンド

仮想メモリ統計 (vmstat) コマンドは、仮想メモリの統計情報を報告するために使用されます。 オペレーティングシステムのメトリック(仮想メモリ、プロセス、CPU 使用率など)を表示するために使用できます。

一般的なオプション

vmstat の構文は次のとおりです。

vmstat [-n] [delay [count]] 

オプション

説明

-n

列ヘッダーを1回だけ表示します。

[delay]

出力の更新間隔です。 このオプションを指定しない場合、レポートは1つだけ出力されます。

[count]

出力の更新回数です。 [delay] オプションを指定し、このオプションを指定しない場合、コマンドは無期限に実行されます。 vmstat コマンドを停止するには、Ctrl + C を押して終了します。

1秒間隔で4回、各プロセスのCPU使用率を報告するには、次のコマンドを実行します。

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 による処理を待機しているスレッドの数。 CPU は一度に1つのスレッドしか処理できません。 値が大きいほど、システムが遅いことを示します。

  • us: ユーザーモードで費やされた CPU 時間の割合。 値が高い場合は、ユーザープロセスが CPU 時間を大量に消費していることを示します。 値が 50% を超える場合は、プログラムのアルゴリズムまたはコードを最適化します。

  • sy: カーネルモードで費やされた CPU 時間の割合。

  • wa: I/O 待ちで費やされた CPU 時間の割合。 値が高い場合は、I/O 待ち時間が長いことを示しており、多数のランダムディスクアクセスまたはディスクパフォーマンスのボトルネックが原因である可能性があります。

  • id: アイドル状態で費やされた CPU 時間の割合。 値が 0 のままで、sy 値が us 値の2倍である場合、CPU リソース不足が発生しています。

ユーザーログイン情報の取得に使用されるコマンド

次のファイルは、ユーザーログインレコードに関連しています。

  • 通常、ユーザーログイン情報は、/var/run/utmp/var/log/wtmp/var/log/btmp/var/log/lastlog などのファイルに記録されます。

  • whow、および users コマンドを実行して、/var/run/utmp ファイル内の現在のログインユーザーに関する情報をクエリできます。

  • last コマンドを実行して、/var/log/wtmp ファイル内の現在および過去のログインユーザーに関する情報をクエリできます。

  • lastb コマンドを実行して、/var/log/btmp ファイル内のログインに失敗したすべてのユーザーに関する情報をクエリできます。

  • lastlog コマンドを実行して、/var/log/lastlog ファイル内のユーザーの最新のログインに関する情報をクエリできます。

who

who コマンドは、現在のログインユーザーに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

image

w

w コマンドは、現在のログインユーザーのユーザー名と、ユーザーが実行しているタスクをクエリするために使用されます。 次のようなコマンド出力が返されます。

image

users

users コマンドは、現在のログインユーザーのユーザー名をクエリするために使用されます。 次のようなコマンド出力が返されます。

image

last

last コマンドは、ログインしたすべてのユーザーに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

image

lastb

lastb コマンドは、ログインに失敗したすべてのユーザーに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

image

lastlog

lastlog コマンドは、ユーザーの最新のログインに関する情報をクエリするために使用されます。 次のようなコマンド出力が返されます。

image

cat /var/log/secure

cat /var/log/secure コマンドは、すべてのユーザーのログインレコードをクエリするために使用されます。 次のようなコマンド出力が返されます。

image

ユーザー管理に使用するコマンド

Linux では、useraddwheelpasswduserdel などのコマンドを実行して、システムユーザーとユーザーの権限を管理できます。

useradd

コマンド

useradd コマンドは、ユーザーを作成するために使用します。このコマンドは、adduser コマンドに似ています。ユーザーを作成した後、cat /etc/passwd | grep username コマンドを実行して、ユーザーに関する情報をクエリできます。

  • ルート権限または必要な sudo 権限を持っている場合にのみ、ユーザーを作成できます。

  • useradd コマンドを実行してユーザーを作成した後、ユーザーのパスワードを構成することをお勧めします。

  • ユーザーを作成するときは、プライマリグループと補足グループが既に存在することを確認してください。存在しない場合、ユーザーを作成できません。

一般的なオプション

オプション

説明

-d

ユーザーのホームディレクトリ。このオプションを指定しない場合、デフォルトの /home/<Username> ディレクトリがホームディレクトリとして使用されます。

-m

ユーザーのホームディレクトリを作成します。このオプションと -d オプションを指定すると、ホームディレクトリが作成されます。

-s

ユーザーのログインシェル。デフォルト値:/bin/bash

-g

ユーザーを割り当てるプライマリグループ。プライマリグループが存在しない場合は、最初にプライマリグループを作成します。

-G

ユーザーを割り当てる補足グループ。複数の補足グループを指定する場合は、グループをカンマ(,)で区切ります。

-p

ユーザーのパスワード。パスワードが暗号化されており、useradd コマンドでプレーンテキストで表示されないことを確認してください。暗号化されたパスワードを含む useradd コマンドの例:

sudo useradd -p $(openssl passwd -6 '<Password in plaintext>') newusername

-u

ユーザー ID の数値。

-e

ユーザーアカウントが無効になる日付。YYYY-MM-DD 形式で値を指定します。

  • 特定のホームディレクトリと特定のログインシェルを使用して、jack という名前のユーザーを作成します。

    useradd -m -d /home/jack -s /bin/bash jack

    ユーザーの作成後、cat /etc/passwd | grep jack コマンドを実行して、ユーザーに関する情報をクエリします。次のコマンド出力が返されます。

    jack:x:1000:1000::/home/jack:/bin/bash

    ユーザーの作成後、passwd コマンドを実行して、ユーザーのパスワードを構成します。

    passwd jack
  • alice という名前のユーザーを作成し、developers 補足グループに割り当てます。

    useradd -m -G developers alice
  • bob という名前のユーザーを作成し、ユーザー ID を 1001 に設定します。

    useradd -m -u 1001 bob
  • ルート権限を持つユーザーを作成するには、次の手順を実行します。

    重要

    セキュリティのベストプラクティスに従って、必要な場合にのみユーザーにルート権限を付与することをお勧めします。

    1. useradd コマンドを実行して、john という名前のユーザーを作成します。

      useradd john
    2. 新しいユーザーのパスワードを構成します。

      passwd john
    3. 新しいユーザーを wheel グループに追加します。ほとんどの場合、ユーザーを wheel グループに追加することで、ユーザーに sudo 権限を付与できます。grep '^wheel:' /etc/group コマンドを実行して、wheel グループのメンバーをクエリします。

      sudo usermod -aG wheel john
    4. 新しいユーザーの sudo 権限をテストします。新しいユーザーに切り替えて、sudo コマンドを実行します。

      su - john
      sudo ls /root

      sudo コマンドが想定どおりに実行されると、パスワードの入力を求められます。新しいユーザーの正しいパスワードを入力すると、/root ディレクトリの内容が表示されます。これは、新しいユーザーが sudo 権限を持っており、リモートログインに使用できることを示します。

    5. (オプション)sudoers ファイルを変更します。sudoers ファイルでユーザーの特定の権限を追加します。

      sudo visudo

userdel

コマンド

userdel コマンドは、ユーザーを削除するために使用します。

一般的なオプション

オプション

説明

-r

ユーザーのホームディレクトリとホームディレクトリ内のファイルを削除します。

-f

ユーザーがまだログインしている場合でも、強制的にユーザーを削除します。

  • john という名前のユーザーを削除します。

    ルートユーザーに切り替えて、cat /etc/passwd | grep john コマンドを実行し、john ユーザーのホームディレクトリをクエリします。次のコマンド出力が返されます。

    john:x:1001:1001::/home/john:/bin/bash

    john という名前のユーザーを削除し、ユーザーのホームディレクトリとホームディレクトリ内のファイルを保持します。

    userdel john
  • john という名前のユーザー、ユーザーのホームディレクトリ、およびホームディレクトリ内のファイルを削除します。

    userdel -r username
  • ユーザーを強制的に削除します。

    userdel -f username

wheel

コマンド

wheel は、ユーザーがスーパーユーザーに切り替えることができる su コマンドへのアクセスを制御するユーザーグループです。ほとんどの場合、スーパーユーザーはルートユーザーです。

  • デフォルトでは、wheel グループが存在します。wheel グループが存在しない場合は、sudo groupadd wheel コマンドを実行してグループを作成できます。

  • デフォルトでは、一般ユーザーは su コマンドを実行し、正しいパスワードを入力してルートユーザーに切り替え、システムの管理と構成を実行できます。

  • システムのセキュリティを向上させるために、Linux の wheel グループを使用して、一般ユーザーがルートユーザーに切り替えるのを制限できます。ユーザーは、wheel グループのメンバーである場合にのみ、su コマンドを実行してルートユーザーに切り替えることができます。

  • ユーザーが wheel グループのメンバーであるかどうかを確認します。

    groups username
  • ユーザーを wheel グループに追加します。

    sudo usermod -aG wheel username

    visudo コマンドを実行して、/etc/sudoers ファイルを安全に編集します。%wheel ALL=(ALL) ALL 行は、wheel グループのメンバーが sudo を使用してすべてのコマンドを実行できることを示します。

    wheel グループのメンバーがパスワードなしで sudo を使用できるようにするには、%wheel ALL=(ALL) ALL 行を次のように変更します。

    %wheel ALL=(ALL) NOPASSWD: ALL