【Linux】管理者がログイン直後によく使うコマンド

サーバの管理者がログイン直後によく使うコマンドを紹介していきます。

よく使うコマンド

w

一文字「w」だけのコマンド。

現在ログインしているユーザを知ることができます。

$ w
 11:39:41 up 13:52,  2 users,  load average: 0.19, 0.14, 0.10
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
xxxxxx   pts/0    hoge.fuga        11:33    1.00s  0.28s  0.02s w
yyyyyy   pts/1    hoge.fuga        11:38   43.00s  0.49s  0.26s top

last

ユーザのログイン履歴を表示してくれます。

$ last
yyyyyy   pts/1        hoge.fuga        Thu Nov 14 11:38   still logged in   
xxxxxx   pts/0        hoge.fuga        Thu Nov 14 11:33   still logged in   
xxxxxx   pts/0        hoge.fuga        Thu Nov 14 10:32 - 10:34  (00:01)    
xxxxxx   pts/0        hoge.fuga        Wed Nov 13 21:48 - 21:51  (00:02)    
~中略~

wtmp begins Fri Nov  1 20:48:11 2019

dmesg

カーネルログを参照できます。

セグフォ(セグメンテーションフォルト)やOOM(アウト・オブ・メモリー)など、カーネルに関する異常が起きた時もログが記録されています。

$ dmesg 
[    0.000000] Linux version 4.xx.xxx-hoge (root@fuga) (gcc version x.x.x (GCC)) #2 SMP Tue Oct 15 17:01:19 JST 2019
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] e820: BIOS-provided physical RAM map:
~中略~
[  142.358955] random: crng init done
[  142.358968] random: 4 urandom warning(s) missed due to ratelimiting

free

メモリー使用量が把握できます。

$ free
             total       used       free     shared    buffers     cached
Mem:       2064280    1842324     221956      11256      61284     767908
-/+ buffers/cache:    1013132    1051148
Swap:      2097148          0    2097148

df

ディスク使用量を確認できます。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             10M     0   10M   0% /dev
tmpfs           404M   11M  393M   3% /run
/dev/sda2       457G  132G  302G  31% /
~以下略~

ps

起動しているプロセスの状態を確認できます。

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   5520  4012 ?        Ss   Nov13   0:04 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Nov13   0:00 [kthreadd]
~中略~
yyyyyy   32087  0.6  0.1   3564  2400 pts/1    S+   11:39   0:07 top
postfix  32652  0.0  0.1   7564  3308 ?        S    11:54   0:00 anvil -l -t unix -u -c

top

サーバの各種情報を見やすく表示してくれます。

プロセスのCPU負荷やメモリー使用量でのソートも可能です。

top - 12:14:24 up 14:26,  2 users,  load average: 0.13, 0.15, 0.11
Tasks:  90 total,   1 running,  65 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.8 us,  1.3 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.7 hi,  0.2 si,  0.0 st
KiB Mem:   2064280 total,  1843356 used,   220924 free,    62220 buffers
KiB Swap:  2097148 total,        0 used,  2097148 free.   767988 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                
  663 proxy     20   0  120744  71724  11812 S   2.3  3.5  24:03.66 [ET_NET 0]                                                                             
  992 yyyyyy    20   0    3564   2468   2104 R   0.7  0.1   0:00.52 top          
~以下略~

uptime

サーバ起動日時や稼働時間、ログインユーザ数やロードアベレージが確認できます。

$ uptime
 12:01:27 up 14:14,  2 users,  load average: 0.12, 0.14, 0.10

uname

サーバのカーネルバージョンなどを確認できます。

$ uname -a
Linux fuga 4.xx.xxx-hoge #2 SMP Tue Oct 15 17:01:19 JST 2019 i686 GNU/Linux

script

作業ログをファイルに記録することができます。

# ファイルへログを保存
$ script
Script started, file is typescript
$ uptime
 12:08:07 up 14:20,  2 users,  load average: 0.08, 0.08, 0.08
$ exit
Script done, file is typescript

# 保存されたログファイルを表示
$ cat typescript 
Script started on Thu Nov 14 12:07:52 2019
$ uptime
 12:08:07 up 14:20,  2 users,  load average: 0.08, 0.08, 0.08
$ exit

Script done on Thu Nov 14 12:08:26 2019

netstat

ネットワークの統計情報やソケットの状態を確認できます。

# netstat -s
Ip:
    721854 total packets received
    567 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    721154 incoming packets delivered
    668402 requests sent out
    86 reassemblies required
    43 packets reassembled ok
~以下略~

# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8083          0.0.0.0:*               LISTEN      633/traffic_manager
tcp        0      0 127.0.0.1:8084          0.0.0.0:*               LISTEN      663/traffic_server
tcp        0      0 127.0.0.1:4949          0.0.0.0:*               LISTEN      639/perl        
tcp        0      0 127.0.0.1:8053          0.0.0.0:*               LISTEN      473/unbound     
~以下略~

まとめ

サーバの健康状態は定期的に確認しておくことをおすすめします。

他によく使うコマンドを思い出したら順次追記してきます。