開発や運用の中でよく使うコマンドをメモっておきます。適宜更新していきます。
RHEL / CentOS用です。なお、RHEL6系とRHEL7系の両方を維持管理しているので、混在しているかもしれません。
ディスク関連
システムの全体のディスク使用量を確認する。-hオプションだと、GBとかMBとか見やすい単位を選んでまとめてくれる。
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/rhel-root 62G 5.0G 57G 9% /
/dev/mapper/rhel-var 10G 6.7G 3.4G 67% /var
/dev/vdb1 2.0T 6.3G 2.0T 1% /datadisk
/dev/vda1 497M 178M 319M 36% /boot
カレントディレクトリ配下のディスク使用量をサブディレクトリ単位で集計する。
# du -sh ./*
16K ./directoryA
100K ./directoryB
0 ./directoryC
1.3G ./directoryD
ファイル関連
複数ディレクトリをまとめて圧縮する(cが圧縮)
# tar -cf test.tar dir1 dir2 dir3
tarファイルの中身を解凍せずに確認する(tが閲覧)
# tar tf test.tar
tarファイルを解凍する(xが解凍)
# tar xf test.tar
上記ではつけていないが、zをつけるとgzip、vは詳細表示(エラーとかが出るらしい)
ディレクトリ内のファイル数を数える、サブディレクトリ内も含む(サーバ移行時の転送データのチェックに前後の比較をしたかったのでこういうのを探していました)
こちらの方の記事を参考にさせて頂きました(この記事内のコマンドではlsコマンドにRオプションが指定されていないので、サブディレクトリ内のファイルはカウントされません)
。ありがとうございます。https://qiita.com/stc1988/items/e3a1d7dccafe4ab573fa
ls -U1R | wc -l
ネットワーク関連
TCPコネクションの状態を確認する。
# netstat -antweep
SSH接続(証明書利用、接続先アカウント指定)
$ ssh -i xxxx.pem user@192.168.xx.xxx
あるサーバのディレクトリ(/src_directory)を、SOCKSサーバ経由で別サーバにSSH接続して送りつける(tarで相対パスでとって順次転送、中間ファイルは作成されない)、終了したら時刻を表示する
$ tar -cf - -C /src_directory . | ssh -o 'ProxyCommand nc -x xxx.xx.xx.xx:xxxx %h %p' -i xxxx.pem user@192.168.xx.xxx tar -xf - -C /dest_directory ; date
SOCKSサーバ経由でSCP、SSH接続は証明書(xxxはSOCKSサーバのIP:ポート、yyy.pemは転送先サーバに証明書が必要なとき、srcfileは送りたいファイル、zzzは送信先サーバのIP:ポート、送信先サーバの/tmpに転送)
scp -o 'ProxyCommand nc -x xxx.xxx.xxx.xxx:xxx %h %p' -i yyy.pem srcfile usr@zzz.zzz.zzz.zzz:/tmp
ホスト情報
カーネルバージョンを調べる。
# uname -a
Linux hostname 3.10.0-957.10.1.el7.x86_64 #1 SMP Thu Feb 7 07:12:53 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
パッケージ管理
パッケージの情報を調べる(そのパッケージが何なのか)。
# rpm -qi pcre2
Name : pcre2
Version : 10.23
(中略)
Description :
PCRE2 is a re-working of the original PCRE (Perl-compatible regular
expression) library to provide an entirely new API.
(以下略)