argius note

プログラミング関連

メモ: du, who, which, expr

(Cygwin, Fedora Core, HP-UX の比較的新しいもので評価しています)
今回はコマンド単独で使うことが多いものです(exprを除く)。

ディレクトリのサイズを調べる

特定のディレクトリ以下のサイズを調べるには、duコマンドを使います。

$ du -sk home
3254    home
$

sオプションは指定しないとサブエントリも再帰的に表示されます。サイズ単位は通常、ブロック(1ブロック=512バイト)で表示されますが、kオプションはサイズの単位を1024バイトにします。上記の例では、homeの合計サイズは3254KBとなります。調べる全てのサブエントリにアクセスできる権限が必要です。
Cygwinの場合、詳しい条件は分かりませんが、日本語が含まれていると上手くいかない場合があります。

誰がログインしているか調べる

全員ログアウトしてー、と言われた時、うっかりログインしたまま忘れている人もいるかもしれないので、誰が残っているか調べた方が早いですね。そういうときはwhoコマンドを使いましょう。オプションの詳細は知らないので--all(-a)を付けてしまいます。色々表示されますが、IPアドレスの行を見れば分かるはずです。

コマンドがどのファイルで実行されるかを調べる

パスに通っているコマンドは、実際どのファイルを実行するかはシェルが代行してくれますが、ユーザによってPATH環境変数が異なる場合はフルパスで実行する場合もあります。そのとき、そのファイルがどこにあるかを簡単に調べられるのがwhichコマンドです。

$ which java
/usr/java/jdk1.5.0_10/bin/java
$

計算結果を表示

四則演算を行う際には、exprコマンドを使用します。exprは四則演算以外にも評価が可能ですが、互換性が低い可能性があるのでここでは割愛します。これはコマンドよりスクリプトの方がよく使うかも知れません。

$ expr 1 + 2
3
$