http://www.nurs.or.jp/~asada/FAQ/UNIX/section3.6.html