Linuxのシステムやハードウェア情報を取得するコマンドを集めてみた

こんにちは。今回はLinuxのシステム情報を入手するコマンド特集です。システムの設定やハードの情報を入手する際に役立ちそうなコマンド(というかCUI操作)を独断と偏見でピックアップします。ディストロやバージョンによって設定ファイルやコマンドは変化しますので注意してくださいね。(本記事のコマンドは2014年9月時点のものです)


CPUやメモリの情報を調べる

CUPの情報を得る

$ cat /proc/cpuinfo

出力例

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz
stepping        : 6
microcode       : 0x60c
cpu MHz         : 800.000
cache size      : 3072 KB
(以下省略)

メモリー(RAM)の情報を得る

$ cat /proc/meminfo

出力例

MemTotal:        2028028 kB
MemFree:          237240 kB
Buffers:          155960 kB
Cached:          1072260 kB
SwapCached:            0 kB
Active:          1044360 kB
Inactive:         576148 kB
Active(anon):     338836 kB
(以下省略)

PCIデバイスやモジュール関連の情報を調べる

PCIデバイスの情報を得る

$ lspci

出力例

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
(以下省略)

読み込まれているモジュール一覧を出力

$ lsmod

出力例

Module                  Size  Used by
nls_utf8               12416  1 
nls_cp437              12417  1 
vfat                   17116  1 
fat                    44497  1 vfat
cryptd                 14125  0 
aes_i586               16647  3 
aes_generic            32970  1 aes_i586
(以下省略)

ドライブやUSB関連の情報を調べる

接続されているHDDやUSBドライブを調べる

$ lsblk

出力例

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298.1G  0 disk 
├─sda1   8:1    0  93.1G  0 part 
├─sda2   8:2    0     1K  0 part 
├─sda3   8:3    0  97.7G  0 part /
├─sda4   8:4    0  45.8G  0 part 
├─sda5   8:5    0  55.9G  0 part 
└─sda6   8:6    0   5.6G  0 part [SWAP]

接続されているUSB機器の情報を得る

(2015/3/23追記)

$ lsusb

出力例

Bus 001 Device 004: ID 056e:0079 Elecom Co., Ltd 
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
(以下省略)

ドライブの容量を調べる

$ df -h

出力例

ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/sda3         97G   22G   70G   25% /
dev              986M     0  986M    0% /dev
run              988M  864K  987M    1% /run
tmpfs            988M   68K  988M    1% /dev/shm
tmpfs            988M     0  988M    0% /sys/fs/cgroup
tmpfs            988M   24K  988M    1% /tmp
tmpfs            198M  8.0K  198M    1% /run/user/1000
/dev/sdb1        7.5G  3.1G  4.4G   42% /media/usb

inodeを確認する

$ df -i

出力例

ファイルシス   Iノード  I使用   I残り I使用% マウント位置
/dev/sda3      6406144 364744 6041400     6% /
dev             219133    412  218721     1% /dev
run             220142    496  219646     1% /run
tmpfs           220142      2  220140     1% /dev/shm
tmpfs           220142     11  220131     1% /sys/fs/cgroup
tmpfs           220142     32  220110     1% /tmp
tmpfs           220142     10  220132     1% /run/user/1000

キーボードの設定を調べる

Xorgでのキーボードレイアウト設定を確認する

X関連の設定でキーボードレイアウトを設定しても有効にならない場合は他の設定ファイルを読み込んでいる可能性もあります。現在の状態を知るには以下コマンドを実行してみてください。尚、xpropはデフォルトでインストールされていないディストロもありますのでご注意を。

$ xprop -root | grep XKB

出力例

_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "jp", "", ""

コンソール用のキーボードレイアウト設定を確認する

Debian系(Ubuntu,Linux Mint等)
Debian系では6(squeeze)以降でコンソールとxorgサーバーでキーボードレイアウトの設定ファイルが/etc/default/keybordに統一されています。

$ cat /etc/default/keyboard

Arch Linux,RedHat系(CentOS等)のsystemd採用ディストロ

$ cat /etc/vconsole.conf

Gentoo Linux(Open RC)

$ cat /etc/conf.d/keymaps

環境変数

登録されている環境変数一覧を見る

$ export -p | less

使用可能なフォントを知りたい

$ fc-list | less

システムに常駐しているサービスの状態を一覧で見たい(init関連)

ゴタゴタしていて落ち着かないinitシステム関連についてです。設定や情報を見るコマンドは色々ありますが、今回はステータス一覧を取得するコマンドを取り上げることにします。

SysV/Upstart(Debian,Ubuntu等)

以下の管理ツールはデフォルトではインストールされていません。リポジトリからインストールしてください。
sysv-rc-conf

$ sysv-rc-conf --list

出力例

acpi-fakekey 2:on       3:on    4:on    5:on
acpi-support 1:off      2:on    3:on    4:on    5:on
acpid        2:on       3:on    4:on    5:on
alsa-utils   0:off      1:off   6:off   S:on
anacron      2:on       3:on    4:on    5:on
(以下省略)

chkconfig
chkconfigはRedhat系のディストロを使ってる方には馴染みのあるコマンドだと思います。しかし、RedHat系のディストロはsystemdに移行していますので、systemdの項を参考にしてください。

$ chkconfig --list

出力結果はsysv-rc-confと同様です。

Systemd(Fedora,CentOS,Arch Linux,Gentoo等)

$ systemctl list-unit-files

出力例

bluetooth.service                           enabled 
canberra-system-shutdown.service            disabled
colord.service                              static  
console-getty.service                       disabled
console-shell.service                       disabled
container-getty@.service                    static  
cronie.service                              disabled
cups-browsed.service                        enabled 
(以下省略)

Open RC(Gentoo linux)

$ rc-status -s

出力例

hwclock                                                           [  started  ]
 sysfs                                                             [  started  ]
 udev-mount                                                        [  started  ]
 devfs                                                             [  started  ]
 dmesg                                                             [  started  ]
 kmod-static-nodes                                                 [  started  ]

最後に

普段筆者が設定を確認したいと思うときによく使うコマンドを列挙してみました。記事を書きながら改めてディストロやバージョン毎に設定ファイルの置き場所やコマンドが異なっている現状に複雑な思いを抱きました。これらの複雑な現状はLinuxの自由さと多様性を象徴していますが、同時にユーザーにとっては使えるツールやコマンドがコロコロと変化してしまい「覚えたことが生かせないシステム」という印象を強く植え付ける結果を招いてしまいます。統一性か多様性か・・・その狭間で揺れながらこれからもオープンソースOSは進化していくのでしょう。

Sponsored Link