Linux OS確認コマンド総まとめ:初心者向け簡単ガイド
Linux OSは、その柔軟性とカスタマイズ性から、サーバー、デスクトップ、組み込みシステムなど、幅広い分野で利用されています。しかし、Linux OSは多種多様なディストリビューション(Ubuntu, Fedora, CentOS, Debianなど)が存在し、それぞれ微妙に異なる部分があります。そのため、Linuxの操作を始めるにあたって、まず自分の使用しているOSやカーネルの情報を正確に把握することが重要です。
本ガイドでは、Linux OSの基本的な情報を確認するためのコマンドを網羅的に解説します。初心者の方でも分かりやすいように、各コマンドの実行例やオプション、補足情報を交えながら、丁寧に解説していきます。このガイドを読めば、Linux OSの情報をスムーズに確認できるようになり、トラブルシューティングや環境構築がより効率的に行えるようになるでしょう。
目次
-
Linux OSの基本的な情報確認
- 1.1. ディストリビューション名の確認:
lsb_release -a
,/etc/*release
,hostnamectl
- 1.2. カーネルバージョンの確認:
uname -r
,uname -a
,cat /proc/version
- 1.3. OSアーキテクチャの確認:
uname -m
,arch
- 1.4. ホスト名の確認:
hostname
,hostnamectl
- 1.1. ディストリビューション名の確認:
-
ハードウェア情報の確認
- 2.1. CPU情報の確認:
lscpu
,cat /proc/cpuinfo
- 2.2. メモリ情報の確認:
free -h
,cat /proc/meminfo
- 2.3. ディスク情報の確認:
df -h
,du -sh
,lsblk
- 2.4. ネットワーク情報の確認:
ip addr
,ifconfig
,ping
- 2.1. CPU情報の確認:
-
システム情報の確認
- 3.1. システム稼働時間の確認:
uptime
- 3.2. ユーザー情報の確認:
who
,w
,users
- 3.3. プロセス情報の確認:
ps
,top
,htop
- 3.4. サービス情報の確認:
systemctl status [サービス名]
- 3.1. システム稼働時間の確認:
-
パッケージ管理システムの確認
- 4.1. Debian系 (apt):
apt list --installed
,dpkg -l
- 4.2. Red Hat系 (yum/dnf):
yum list installed
,dnf list installed
,rpm -qa
- 4.3. Arch Linux系 (pacman):
pacman -Q
- 4.1. Debian系 (apt):
-
環境変数の確認
- 5.1. 環境変数の表示:
env
,printenv
- 5.2. 特定の環境変数の表示:
echo $[環境変数名]
- 5.1. 環境変数の表示:
-
ファイルシステムの確認
- 6.1. マウントポイントの確認:
mount
- 6.2. ファイルシステムの種類の確認:
df -T
- 6.1. マウントポイントの確認:
-
ネットワーク設定の確認
- 7.1. IPアドレス、サブネットマスク、ゲートウェイの確認:
ip addr
,ifconfig
- 7.2. DNSサーバーの確認:
cat /etc/resolv.conf
- 7.3. ルーティングテーブルの確認:
route -n
- 7.1. IPアドレス、サブネットマスク、ゲートウェイの確認:
-
ロギングの確認
- 8.1. システムログの確認:
journalctl
- 8.2. 特定のログファイルの確認:
cat /var/log/syslog
,cat /var/log/auth.log
- 8.1. システムログの確認:
-
便利なコマンドの組み合わせ
- 9.1. grepを使ったフィルタリング
- 9.2. lessを使ったページング
-
トラブルシューティングのヒント
1. Linux OSの基本的な情報確認
まず、自分が使用しているLinux OSの基本的な情報を把握しましょう。これには、ディストリビューション名、カーネルバージョン、OSアーキテクチャ、ホスト名などが含まれます。
1.1. ディストリビューション名の確認
ディストリビューション名は、どのLinux OSを使用しているかを特定するために重要です。以下のコマンドを使用できます。
-
lsb_release -a
: Linux Standard Base (LSB) に準拠したディストリビューション情報を表示します。ほとんどのディストリビューションで利用できます。bash
lsb_release -a実行例:
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal -
/etc/*release
:/etc/
ディレクトリにあるreleaseファイルを表示します。ディストリビューションによってファイル名が異なります。例えば、/etc/os-release
,/etc/redhat-release
,/etc/debian_version
などがあります。bash
cat /etc/os-release実行例:
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal複数の
*release
ファイルが存在する場合、cat /etc/*release
のようにワイルドカードを使用してまとめて表示できます。 -
hostnamectl
: システムのホスト名や関連情報を表示します。bash
hostnamectl実行例:
Static hostname: ubuntu-server
Icon name: computer-vm
Chassis: vm
Machine ID: 8f3c6d8f4a0c4b9e9a9e4a7e8a4b7e8a
Boot ID: 9c3a8a3c3a3c4a3c3a3c3a3c3a3c3a3c
Virtualization: vmware
Operating System: Ubuntu 20.04.4 LTS
Kernel: Linux 5.4.0-121-generic
Architecture: x86-64
1.2. カーネルバージョンの確認
カーネルバージョンは、OSの心臓部であるカーネルのバージョンを示します。以下のコマンドを使用できます。
-
uname -r
: カーネルのリリースバージョンを表示します。bash
uname -r実行例:
5.4.0-121-generic
-
uname -a
: カーネルに関する詳細な情報を表示します。bash
uname -a実行例:
Linux ubuntu-server 5.4.0-121-generic #137-Ubuntu SMP Wed Jun 8 13:42:33 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
-
cat /proc/version
: カーネルのバージョン情報をファイルから直接読み取ります。bash
cat /proc/version実行例:
Linux version 5.4.0-121-generic (buildd@lcy029-amd64-068) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #137-Ubuntu SMP Wed Jun 8 13:42:33 UTC 2022
1.3. OSアーキテクチャの確認
OSアーキテクチャは、OSが動作するCPUのアーキテクチャを示します。主に32ビット(x86, i386)と64ビット(x86_64, amd64)があります。
-
uname -m
: マシンのハードウェア名を表示します。bash
uname -m実行例:
x86_64
-
arch
: マシンのアーキテクチャを表示します。bash
arch実行例:
x86_64
1.4. ホスト名の確認
ホスト名は、ネットワーク上でシステムを識別するための名前です。
-
hostname
: ホスト名を表示します。bash
hostname実行例:
ubuntu-server
-
hostnamectl
: システムのホスト名や関連情報を表示します。(前述)
2. ハードウェア情報の確認
ハードウェア情報を確認することで、システムの性能やリソースの状態を把握できます。
2.1. CPU情報の確認
CPUに関する情報を表示します。
-
lscpu
: CPUアーキテクチャに関する詳細な情報を表示します。bash
lscpu実行例:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Model name: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
Stepping: 2
CPU MHz: 2499.998
BogoMIPS: 4999.99
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 25600K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp pku ospke spec_ctrl intel_stibp flush_l1d arch_capabilities -
cat /proc/cpuinfo
: CPUに関する詳細な情報をファイルから直接読み取ります。lscpu
と同様の情報が含まれますが、形式が異なります。bash
cat /proc/cpuinfo実行例:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping : 2
microcode : 0x1
cpu MHz : 2499.998
cache size : 25600 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp pku ospke spec_ctrl intel_stibp flush_l1d arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips : 4999.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
2.2. メモリ情報の確認
メモリの使用状況に関する情報を表示します。
-
free -h
: メモリの使用状況を人間が読みやすい形式で表示します。-h
オプションは、KiB, MiB, GiB などの単位で表示するために使用します。bash
free -h実行例:
total used free shared buff/cache available
Mem: 1.9Gi 242Mi 1.2Gi 1.0Mi 496Mi 1.6Gi
Swap: 0B 0B 0B -
cat /proc/meminfo
: メモリに関する詳細な情報をファイルから直接読み取ります。bash
cat /proc/meminfo実行例:
MemTotal: 2056352 kB
MemFree: 1261452 kB
MemAvailable: 1673412 kB
Buffers: 18620 kB
Cached: 518376 kB
SwapCached: 0 kB
Active: 337988 kB
Inactive: 329164 kB
Active(anon): 88956 kB
Inactive(anon): 14440 kB
Active(file): 249032 kB
Inactive(file): 314724 kB
Unevictable: 24 kB
Mlocked: 24 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 140 kB
Writeback: 0 kB
AnonPages: 87564 kB
Mapped: 78544 kB
Shmem: 1024 kB
KReclaimable: 42632 kB
Slab: 58936 kB
SReclaimable: 42632 kB
SUnreclaim: 16304 kB
KernelStack: 2096 kB
PageTables: 2708 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1028176 kB
Committed_AS: 504312 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 55996 kB
VmallocChunk: 34359677800 kB
Percpu: 1640 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 6136 kB
DirectMap2M: 2080768 kB
2.3. ディスク情報の確認
ディスクの使用状況に関する情報を表示します。
-
df -h
: ディスクスペースの使用状況を人間が読みやすい形式で表示します。-h
オプションは、KiB, MiB, GiB などの単位で表示するために使用します。bash
df -h実行例:
Filesystem Size Used Avail Use% Mounted on
udev 990M 0 990M 0% /dev
tmpfs 200M 1.4M 199M 1% /run
/dev/sda1 20G 3.3G 16G 18% /
tmpfs 1000M 0 1000M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1000M 0 1000M 0% /sys/fs/cgroup
/dev/loop0 56M 56M 0 100% /snap/core18/2409
/dev/loop1 56M 56M 0 100% /snap/core18/2531
/dev/loop2 63M 63M 0 100% /snap/core20/1525
/dev/loop3 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop4 47M 47M 0 100% /snap/snapd/16010
/dev/loop5 47M 47M 0 100% /snap/snapd/16292
tmpfs 200M 0 200M 0% /run/user/1000 -
du -sh [ディレクトリ]
: 指定したディレクトリのディスク使用量を合計で表示します。-s
オプションは合計サイズのみを表示し、-h
オプションは人間が読みやすい形式で表示します。bash
du -sh /home/user実行例:
4.0K /home/user
-
lsblk
: ブロックデバイス(ハードディスク、SSDなど)の情報を表示します。bash
lsblk実行例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part /
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 56M 1 loop /snap/core18/2409
loop1 7:1 0 56M 1 loop /snap/core18/2531
loop2 7:2 0 63M 1 loop /snap/core20/1525
loop3 7:3 0 66M 1 loop /snap/gtk-common-themes/1519
loop4 7:4 0 47M 1 loop /snap/snapd/16010
loop5 7:5 0 47M 1 loop /snap/snapd/16292
2.4. ネットワーク情報の確認
ネットワークに関する情報を表示します。
-
ip addr
: IPアドレス、MACアドレス、ネットワークインターフェースなどのネットワーク情報を表示します。bash
ip addr実行例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:c5:b9:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.198.132/24 brd 192.168.198.255 scope global dynamic ens33
valid_lft 85629sec preferred_lft 85629sec
inet6 fe80::20c:29ff:fec5:b982/64 scope link
valid_lft forever preferred_lft forever -
ifconfig
: 古いネットワーク設定ツールですが、依然として多くのシステムで使用されています。IPアドレス、MACアドレス、ネットワークインターフェースなどのネットワーク情報を表示します。bash
ifconfig実行例:
“`
ens33: flags=4163mtu 1500
inet 192.168.198.132 netmask 255.255.255.0 broadcast 192.168.198.255
ether 00:0c:29:c5:b9:82 txqueuelen 1000 (Ethernet)
RX packets 1793 bytes 166586 (166.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1131 bytes 134394 (134.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73
mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 398 bytes 30076 (30.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 398 bytes 30076 (30.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
“`ifconfig
コマンドがインストールされていない場合は、sudo apt install net-tools
(Debian/Ubuntu)またはsudo yum install net-tools
(Red Hat/CentOS)などでインストールする必要があります。 -
ping [ホスト名またはIPアドレス]
: 指定されたホストまたはIPアドレスにネットワーク接続が可能かどうかを確認します。bash
ping google.com実行例:
PING google.com (142.250.184.142) 56(84) bytes of data.
64 bytes from sea15s40-in-f14.1e100.net (142.250.184.142): icmp_seq=1 ttl=116 time=9.89 ms
64 bytes from sea15s40-in-f14.1e100.net (142.250.184.142): icmp_seq=2 ttl=116 time=9.98 ms
64 bytes from sea15s40-in-f14.1e100.net (142.250.184.142): icmp_seq=3 ttl=116 time=9.99 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 9.894/9.955/9.997/0.045 ms
3. システム情報の確認
システムの稼働状況、ユーザー情報、プロセス情報などを確認します。
3.1. システム稼働時間の確認
-
uptime
: システムが起動してから経過した時間、現在のユーザー数、システムの平均負荷を表示します。bash
uptime実行例:
15:20:33 up 1 day, 3:15, 1 user, load average: 0.00, 0.01, 0.05
3.2. ユーザー情報の確認
-
who
: 現在システムにログインしているユーザーを表示します。bash
who実行例:
user pts/0 2023-02-23 12:05 (192.168.198.1)
-
w
: 現在システムにログインしているユーザーとそのユーザーが実行しているプロセスを表示します。bash
w実行例:
15:22:01 up 1 day, 3:17, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user pts/0 192.168.198.1 12:05 2:54 0.02s 0.01s w -
users
: 現在システムにログインしているユーザー名のみを表示します。bash
users実行例:
user
3.3. プロセス情報の確認
-
ps
: 現在実行中のプロセスに関する情報を表示します。オプションを使用することで、表示される情報をカスタマイズできます。bash
ps aux実行例:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 167320 8704 ? Ss Feb22 0:02 /sbin/init splash
root 2 0.0 0.0 0 0 ? S Feb22 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I Feb22 0:00 [rcu_gp]
...a
: 他のユーザーのプロセスも表示するu
: ユーザー名を表示するx
: TTYを持たないプロセスも表示する
-
top
: システム全体のプロセスをリアルタイムで監視します。CPU使用率、メモリ使用率、プロセスIDなどを表示します。bash
toptop
コマンドを実行すると、インタラクティブな画面が表示されます。q
キーを押すと終了します。 -
htop
:top
コマンドの改良版で、より視覚的にプロセスを監視できます。インストールが必要な場合があります。bash
htophtop
コマンドがインストールされていない場合は、sudo apt install htop
(Debian/Ubuntu)またはsudo yum install htop
(Red Hat/CentOS)などでインストールする必要があります。
3.4. サービス情報の確認
-
systemctl status [サービス名]
: 指定したサービスの状態を表示します。bash
systemctl status ssh実行例:
“`
● ssh.service – OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-02-22 12:03:46 UTC; 1 day 3h ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 841 (sshd)
Tasks: 1 (limit: 2274)
Memory: 2.9M
CGroup: /system.slice/ssh.service
└─841 /usr/sbin/sshd -DFeb 22 12:03:46 ubuntu-server systemd[1]: Started OpenBSD Secure Shell server.
“`
4. パッケージ管理システムの確認
Linux OSは、ソフトウェアをインストール、アップデート、削除するためのパッケージ管理システムを使用しています。ディストリビューションによって使用するパッケージ管理システムが異なります。
4.1. Debian系 (apt)
Debian、Ubuntu、Linux Mint などで使用されます。
-
apt list --installed
: インストールされているすべてのパッケージを表示します。bash
apt list --installed大量の出力が表示されるため、
less
コマンドと組み合わせて使用すると便利です。bash
apt list --installed | less -
dpkg -l
: インストールされているすべてのパッケージの詳細な情報を表示します。bash
dpkg -lこちらも
less
コマンドと組み合わせて使用すると便利です。
4.2. Red Hat系 (yum/dnf)
Red Hat Enterprise Linux (RHEL)、CentOS、Fedora などで使用されます。
-
yum list installed
: インストールされているすべてのパッケージを表示します。(CentOS 7 以前で使用)bash
yum list installed -
dnf list installed
: インストールされているすべてのパッケージを表示します。(Fedora, CentOS 8 以降で使用)bash
dnf list installed -
rpm -qa
: インストールされているすべてのパッケージを表示します。yum や dnf が利用できない場合でも使用できます。bash
rpm -qa
4.3. Arch Linux系 (pacman)
Arch Linux、Manjaro などで使用されます。
-
pacman -Q
: インストールされているすべてのパッケージを表示します。bash
pacman -Q
5. 環境変数の確認
環境変数は、OSやアプリケーションの動作を制御するための設定情報です。
5.1. 環境変数の表示
-
env
: すべての環境変数を表示します。bash
env大量の出力が表示されるため、
less
コマンドと組み合わせて使用すると便利です。 -
printenv
: すべての環境変数を表示します。env
コマンドとほぼ同じです。bash
printenv
5.2. 特定の環境変数の表示
-
echo $[環境変数名]
: 指定した環境変数の値を表示します。bash
echo $PATH実行例:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
6. ファイルシステムの確認
ファイルシステムの種類やマウントポイントを確認します。
6.1. マウントポイントの確認
-
mount
: 現在マウントされているファイルシステムとそのマウントポイントを表示します。bash
mount実行例:
“`
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=990164k,nr_inodes=247541,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=200260k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs