harry’s memorandum

おれおれメモ

オレオレ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