オレオレaliasやシェル関数のあれこれ
よく忘れるからメモ。
仕事で古いUNIXを使うので、どうしても手が'more'と覚えてしまっているから仕方がない。
$ alias more='less'
バックアップするときのシェルの関数。個人的には便利。
$ backup(){ cp -pr $1{,.`date +%Y-%m-%dT%H:%M:%S`}; } $ backup a.c $ ls a.c* a.c a.c.2012-09-17T00:46:46
空ディレクトリを削除するワンライナー。ただaliasにしただけ。
$ alias rmdir_r='find . -depth -type d | xargs rmdir 2> /dev/null'
空ディレクトリを削除するワンライナー。Linuxのfindutilsならこっちの方がいいのかもしれない。
$ alias rmdir_r='find . -type d -empty -delete'
/proc/cpuinfoでみたいのは種類とcore数だけなんだよ。
$ alias cpuinfo="awk -F: ' {if(\$1 ~/^model name/){ model[\$2]=+1}} END{for(k in model) { print model[k], k}}' /proc/cpuinfo" $ cpuinfo 2 Intel(R) Core(TM) i5 CPU M 460 @ 2.53GHz
接続先をセッション名にするのね。commandlinefuでさっき知った。便利。
$ s() { screen -d -RR -m -S "$1" -t "$USER"@"$1" ssh "$1"; }
乱数を出力するだけ。長ったらしいのは覚えられんよ。
$ alias rdom='echo `od -vAn -N4 -tu4 < /dev/urandom`' $ rdom 2961980303
ddの進捗をみるだけ。複数のバックジョブがあると破綻します。
$ alias ddp='kill -SIGUSR1 `jobs -p`' $ dd if=/dev/urandom of=./test.img bs=1M count=100 & $ $ ddp $ 9+1 records in 9+0 records out 9437184 bytes (9.4 MB) copied, 1.51086 seconds, 6.2 MB/s
ネットワークにpingなげて応答あるIPを返すだけ。
$ pscan(){ nmap -nsP "$1" | awk '{if($1=="Host") print $2 }'; } $ pscan 192.168.0.0/24 192.168.0.1 192.168.0.2 192.168.0.7 192.168.0.22 192.168.0.100 192.168.0.106 192.168.0.160 192.168.0.170 192.168.0.251