いつもの作業をちょっとだけ便利で楽しくしてくれたワンライナーを紹介します。
ディレクトリ作成後、作成したディレクトリに移動する
有名なネタですが。
$ mkdir dir_name ; cd $_
実行例
$ mkdir test ; cd $_
[bacchi@bacchi test]$ pwd
/home/bacchi/test
Listen中のポート一覧を出す。
現在Listen中のポート一覧をガーッと出します。
PIDやらUSERやら必要な情報も出せます。
$ lsof -Pan -i tcp -i udp
netstat叩くよりも見やすくて好きだなー。
# lsof -Pan -i tcp -i udp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pop3-logi 743 dovecot 0u IPv4 9353 0t0 TCP 192.168.100.1:110 (LISTEN)
pop3-logi 747 dovecot 0u IPv4 9353 0t0 TCP 192.168.100.1:110 (LISTEN)
dnscache 857 dnscache 3u IPv4 8725 0t0 UDP 127.0.0.1:53
dnscache 857 dnscache 4u IPv4 8726 0t0 TCP 127.0.0.1:53 (LISTEN)
tcpserver 859 qmaild 3u IPv4 8709 0t0 TCP *:25 (LISTEN)
pop3-logi 873 dovecot 0u IPv4 9353 0t0 TCP 192.168.100.1:110 (LISTEN)
pop3-logi 874 dovecot 0u IPv4 9353 0t0 TCP 192.168.100.1:110 (LISTEN)
sshd 1139 root 3u IPv4 9196 0t0 TCP *:20022 (LISTEN)
sshd 1139 root 4u IPv6 9198 0t0 TCP *:20022 (LISTEN)
ntpd 1167 ntp 16u IPv4 9303 0t0 UDP *:123
ntpd 1167 ntp 17u IPv6 9304 0t0 UDP *:123
ntpd 1167 ntp 18u IPv4 9321 0t0 UDP 127.0.0.1:123
ntpd 1167 ntp 19u IPv4 9322 0t0 UDP 192.168.100.1:123
ntpd 1167 ntp 20u IPv6 9323 0t0 UDP [::1]:123
ntpd 1167 ntp 21u IPv6 9324 0t0 UDP [fe80::5054:5ff:fe00:5363]:123
dovecot 1176 root 5u IPv4 9352 0t0 TCP 192.168.100.1:143 (LISTEN)
dovecot 1176 root 6u IPv4 9353 0t0 TCP 192.168.100.1:110 (LISTEN)
postgres 1390 postgres 3u IPv6 10236 0t0 TCP [::1]:5432 (LISTEN)
postgres 1390 postgres 4u IPv4 10237 0t0 TCP 127.0.0.1:5432 (LISTEN)
postgres 1390 postgres 8u IPv6 10258 0t0 UDP [::1]:59467->[::1]:59467
imap-logi 1581 dovecot 0u IPv4 9352 0t0 TCP 192.168.100.1:143 (LISTEN)
imap-logi 1591 dovecot 0u IPv4 9352 0t0 TCP 192.168.100.1:143 (LISTEN)
imap-logi 1602 dovecot 0u IPv4 9352 0t0 TCP 192.168.100.1:143 (LISTEN)
postgres 1639 postgres 8u IPv6 10258 0t0 UDP [::1]:59467->[::1]:59467
postgres 1640 postgres 8u IPv6 10258 0t0 UDP [::1]:59467->[::1]:59467
httpd 12239 apache 3u IPv4 828798 0t0 TCP *:80 (LISTEN)
httpd 12239 apache 4u IPv4 828809 0t0 TCP *:443 (LISTEN)
httpd 12977 apache 3u IPv4 828798 0t0 TCP *:80 (LISTEN)
httpd 12977 apache 4u IPv4 828809 0t0 TCP *:443 (LISTEN)
httpd 13021 apache 3u IPv4 828798 0t0 TCP *:80 (LISTEN)
httpd 13021 apache 4u IPv4 828809 0t0 TCP *:443 (LISTEN)
<省略>
メモリ消費の激しいプロセスをリストアップする
実行中のプロセスのうち、メモリ消費の多いプロセスを10個列挙します。
$ ps aux | sort -nk +4 | tail
+4
のところを+3
とするとCPU負荷が高いプロセスを列挙できます。
実行例
$ ps aux | sort -nk +4 | tail
apache 7170 0.0 0.7 50248 7996 ? S 11:05 0:00 /usr/local/apache2/bin/httpd -k start
apache 10348 0.0 0.7 50248 7788 ? S 11:31 0:00 /usr/local/apache2/bin/httpd -k start
root 9418 0.0 0.7 50108 8000 ? Ss Mar21 0:14 /usr/local/apache2/bin/httpd -k start
apache 6847 0.0 1.0 51996 11116 ? S 11:02 0:00 /usr/local/apache2/bin/httpd -k start
apache 2988 0.0 2.3 63220 23716 ? S 10:30 0:01 /usr/local/apache2/bin/httpd -k start
apache 5952 0.0 2.3 64220 24668 ? S 10:55 0:01 /usr/local/apache2/bin/httpd -k start
apache 30534 0.0 2.3 63532 24036 ? S 09:51 0:01 /usr/local/apache2/bin/httpd -k start
mysql 2434 0.0 2.4 214088 25492 ? Sl Mar20 3:23 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/home/mysql/data/bacchi.me.err --pid-file=/home/mysql/data/bacchi.me.pid --socket=/tmp/mysql.sock --port=3306
apache 9183 0.0 2.9 69616 30720 ? S 06:52 0:03 /usr/local/apache2/bin/httpd -k start
bacchi 18001 0.0 53.9 684948 556220 ? Ss Mar22 0:12 SCREEN
自ホストのグローバルIPアドレスを取得する
NICに直接グローバルIPが割り当てられていない場合でも確認ができてとても便利です。
$ curl ifconfig.me
実行例
$ curl ifconfig.me
219.94.249.137
オプション?を付けることもできるみたいですね。
詳しくは、ifconfig.meのCommand Line Interfaceを見てみてください。
$ curl ifconfig.me/all
ip_addr: 219.94.249.137
remote_host: www5363ue.sakura.ne.jp
user_agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
port: 52980
lang:
connection:
keep_alive:
encoding:
mime: */*
charset:
via:
forwarded:
SSL証明書の期限を確認する
任意のホストのSSL証明書の有効期限を取得します。
SSL証明書の有効期限をチェックするスクリプトに組み込むとGood
$ echo | openssl s_client -connect example.com:443 2>/dev/null |openssl x509 -dates -noout
ポート番号指定できるので、ウェルノウンポート以外のポート使ってても大丈夫。
実行例
$ echo | openssl s_client -connect bacchi.me:443 2>/dev/null |openssl x509 -dates -noout
notBefore=Jan 11 23:43:30 2015 GMT
notAfter=Jan 14 21:48:46 2016 GMT