Linux システム・ネットワーク管理者向けのコマンド集まとめ
いわゆるシスアド的な業務でよく使うであろうコマンドをまとめてみた。
目次
- サーバへのログイン状況
- マシンスペック関連
- リソース利用状況
- OS・ユーザ関連
- 外からネットワーク情報を調べる
- 内からネットワーク情報を調べる
- CentOS だと netcat や nmap が入っていなかったので…
サーバへのログイン状況
- ログインしている自ユーザ :
whoami
- ログインしている自ユーザのグループ :
groups
- ログインしているユーザ一覧 :
who
・who -a
(--all
)・w
・users
- ログインしているユーザの総数 :
who -q
(--count
)
マシンスペック関連
- CPU 情報 :
lscpu
・cat /proc/cpuinfo
- メモリ情報 :
lsmem
・cat /proc/meminfo
・dmidecode -t memory
- GPU 情報 :
lspci | grep 'VGA'
リソース利用状況
- CPU・メモリ・ディスク I/O などをまとめて見る :
vmstat
(vmstat 1
とすると1秒おきに監視) - CPU 使用率を監視する :
sar -u -p 1
・top
- メモリ使用率を監視する :
sar -r -p 1
・top
- メモリ使用量を見る :
free
- スワップの状況を見る :
swapon
- ディスク I/O を監視する :
iostat
(iostat 1
とすると1秒おきに監視)・sar -d -p 1
- ディスク使用量を見る :
df -hT
・parted -l
- プロセス一覧を見る :
ps aux
- プロセスを使用率順に見る :
top
- 過去の CPU 利用率を見る :
sar
・sar -u
- 過去のメモリ使用率を見る :
sar -r
- 過去のディスク I/O を見る :
sar -d
・sar -b
OS・ユーザ関連
- サーバの起動時刻 :
uptime
・who -b
(--boot
) - OS 情報 :
cat /etc/os-release
など - Linux カーネル情報 :
uname -r
(--kernel-release
) - ユーザ一覧 :
cat /etc/passwd | cut -d ':' -f1
- グループ一覧 :
cat /etc/group | cut -d ':' -f1
crontab
の予約状況 :for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done
at
の予約状況 :atq
外からネットワーク情報を調べる
- ネットワークの疎通を確認する :
ping 【ホスト】
(ファイアウォールで ICMP が封じられていると分からない) - 指定ホストのポートスキャン :
nmap 【ホスト】
・nc -v -z -w 1 【ホスト】
- 指定ホストへの通信経路を調べる :
traceroute 【ホスト】
- ドメインから IP を調べる :
nslookup 【ドメイン】
・dig 【ドメイン】
- ドメイン情報を調べる :
whois 【ドメイン・IP アドレス】
内からネットワーク情報を調べる
- 自ホストが開放しているポートを知る :
netstat -antu
・ss -antu
(ss
よりnetstat
の方が推奨) - 自ホストのプロセスが使用しているポートを知る :
lsof -i
- 自ホストのポートスキャン :
nmap -v localhost
・nc -v -z -w 1 localhost
- 自ホストの Private IP を知る :
ifconfig | grep 'inet' | awk '{ print $ 2 }'
・hostname -I
- 自ホストの Route Table を見る :
route
- 自ホストのトラフィックをダンプ出力する :
tcpdump
$ tcpdump -neA -s 0 -i eth0 port 80 -w destfile
のようにすると、80番ポートのトラフィックのみを収集し、Wireshark で閲覧できる形式でファイルに保存してくれる。トラフィック量にもよるが、ファイルサイズは10分間で 500MB に膨れたりするので要注意
CentOS だと netcat や nmap が入っていなかったので…
CentOS 7 で試してみたところ、nc
(= netcat) や nmap
コマンドがプリインストールされていないようだったので、Yum で入れた。
$ yum install nc
$ yum install nmap
# 以下で nmap と nc が両方入るみたい
$ yum install nmap-ncat
nc
コマンドは俗に netcat と呼ばれて、実際のところコマンドに差異があるようではあるが、上のコマンドでは netcat
とか ncat
とかいうコマンドはインストールされなかった。
以上。