昔はUnixコマンドの-hオプションといえばヘルプだったような気がするのですが、今はhuman readableな出力処理が割り当てられているコマンドが結構あります。以下はlsコマンドのオンラインマニュアルからの引用。関連オプション--siも一緒に引用。
-h, --human-readable
with -l, print sizes in human readable format (e.g., 1K 234M 2G)
--si likewise, but use powers of 1000 not 1024
つまり人間が見てわかりやすいようにキロバイトならK、メガバイトならMを付けた形で表示してくれるということです。--siは国際単位系に合わせて基数1000で表示します。(付けなければ基数1024)
実行結果は以下のとおり。
$ ls -l
total 2128
-rw-r--r-- 1 foo foo 1 2010-01-16 09:41 test.1B
-rw-r--r-- 1 foo foo 1000 2010-01-16 09:39 test.1KB
-rw-r--r-- 1 foo foo 1024 2010-01-16 09:39 test.1KiB
-rw-r--r-- 1 foo foo 1000000 2010-01-16 09:40 test.1MB
-rw-r--r-- 1 foo foo 1048576 2010-01-16 09:40 test.1MiB
$ ls -lh
total 2.1M
-rw-r--r-- 1 foo foo 1 2010-01-16 09:41 test.1B
-rw-r--r-- 1 foo foo 1000 2010-01-16 09:39 test.1KB
-rw-r--r-- 1 foo foo 1.0K 2010-01-16 09:39 test.1KiB
-rw-r--r-- 1 foo foo 977K 2010-01-16 09:40 test.1MB
-rw-r--r-- 1 foo foo 1.0M 2010-01-16 09:40 test.1MiB
$ ls -lh --si
total 2.2M
-rw-r--r-- 1 foo foo 1 2010-01-16 09:41 test.1B
-rw-r--r-- 1 foo foo 1.0k 2010-01-16 09:39 test.1KB
-rw-r--r-- 1 foo foo 1.1k 2010-01-16 09:39 test.1KiB
-rw-r--r-- 1 foo foo 1.0M 2010-01-16 09:40 test.1MB
-rw-r--r-- 1 foo foo 1.1M 2010-01-16 09:40 test.1MiB
わかりやすくていいですね。ls以外でもdfやduなどで使えます。
直前のエントリでも触れた東芝BDレコーダーの件ですが早速発表されました。まってましたといいたいところですが、機能比較表を見ると旧機種○なのに新機種×ってのが非常に多い。まるで競合他社製品との比較みたい。で、いろいろ調べてみたら早速2ちゃんねるで「FUNAIのOEMだろこれ」っていう指摘がありました。東芝の型番とFUNAIの型番がまんま同じってのがその根拠。よく調べるなぁ。この件は価格COMでも話題になってます。三菱のOEMじゃないか?という話もあるのでさらに調べたら三菱と船井は合弁会社作ってるんでたぶんそこのOEMではないかということらしい。東芝の売りである機能てんこ盛りを期待してたんですけどね。今年は冬季オリンピックとかワールドカップなど大きなスポーツイベントがある年で気合い入れてくるハズなんですけどね・・・開発間に合わなかったのかな。元々余り買う気はありませんでしたがこのスペックだと完全にスルーですな。
年末購入したREGZA 37Z9000ですが価格COM見ると12万円切ってますね。エコポイント17,000点・TVリサイクルでさらに3,000点で、実質10万円切ることになります。本当にこんなんで大丈夫なんですかね。でも東洋経済の記事によると国内メーカーでは東芝が唯一黒字だそうです。東芝は今年中にもBlu-rayレコーダー市場に参入するようなので楽しみですね。
UnixやLinuxのようなCUI画面ではコマンドの実行結果が次の行に表示されますが、同じコマンドを連続実行するときは実行結果を同じ位置に表示し続けるほうが見やすい場合もあります。そんなときに使えるのがwatchコマンドです。watchコマンドは引数で指定したコマンドを定期的に実行してフルスクリーンで表示してくれます。
watch date
日本語が通らないようなのでLANG=Cでデフォルトロケールにしたほうがよいかもしれません。
LANG=C watch date
コマンド実行インターバルは-nオプションで指定。デフォルトは2秒なので、1秒間隔で実行したいときはこうします。
watch -n 1 date
-dオプションを付けると更新箇所をハイライトしてくれます。
watch -n 1 -d date
watchコマンドはLinuxならたぶん使えます。他のOSはわかりません。どなたかがportingしたものがどこかに落ちてるかもしれません。FreeBSDのwatchコマンドはttyの監視という全く別のコマンドなので気をつけましょう。watchコマンドがないときはこんなやりかたもあります。
while true; do clear; LANG=C date; sleep 1; done
iPhoneのSafariでページ先頭へスクロールする方法は、時刻が表示されている一番上のバーをクリック、です。では逆にページ末尾へスクロールする方法は・・・ない!らしい。で、これをブックマークレットで解決してるかたがいらっしゃいました。すばらしい!(わたしのたまごやきさんのエントリ)
やりかたは簡単。URLに下のJavaScriptコードを入れたブックマークを予め作成しておきます。(適当なページをブックマークに追加してそのブックマークを編集しURLに入力)
javascript:window.scrollBy(0,document.height)
つまりこんな感じです。

これで準備は完了。あとはページ末尾にスクロールしたいときに、このブックマークを選択すればOK。JavaScriptを解釈してページ末尾へ飛んでくれます。
使い捨てメールアカウントが欲しいときは 10 Minute Mail が便利です。アクセスするだけで10分だけ使えるメールアカウントを作ってくれます。

このメールアカウントからの新規メール送信は出来ませんが、受信と返信とフォワードはできます。ただし、受信は日本語でも問題ないのですが、返信とフォワードは文字化けを起こしてしまうようです。時間の延長も出来ます。一時的にメールアドレスを用意したいときは便利ですね。
テストデータとして固定長ファイルを作成するときはddコマンドを使うと簡単に作れます。1MBの空のファイル(全データnull文字)を作成する方法は以下のとおり。
dd if=/dev/zero of=zero1MB1.dat count=1024 bs=1024
dd if=/dev/zero of=zero1MB2.dat count=1024 bs=1K
dd if=/dev/zero of=zero1MB3.dat count=1 bs=1M
ifはデータ入力元、ofはデータ出力先、bsは1回当たりの処理量をバイトで指定、countは処理の回数。なので、上の3つのコマンドの生成ファイルは全て空の1MBのファイルになります。
1MBのランダムファイル(データは乱数)を作成する方法は以下のとおり。
dd if=/dev/urandom of=urandom1MB.dat count=1024 bs=1024
forとかseqコマンドと組み合わせると複数ファイルの生成を自動化できます。
for i in `seq 0 9`
do
dd if=/dev/urandom of=urandom1MB$i.dat count=1024 bs=1K
done
これでurandom1MB0.datからurandom1MB9.datまでの10個の固定長乱数ファイルを一気に作れます。注意点ですが、ddのofで上書き可能なファイルが指定されたとき、ddは容赦なく上書きするので気をつけましょう。
本日から東証で新売買システム「アローヘッド」が稼働してます。簡単に言うと今までより取引が100倍速い。証券会社のトレードツールなどで板見てると今までのと違うのがはっきりわかります。数字がピコピコしてなんていうか忙しい。とりあえず障害など発生せず無事スタートできたようでよかったです。中の人おつかれさまでした。
パソコンとかプログラミングとか。その他、人柱的買い物など。