Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

CLIマジック:ANSIエスケープシーケンスを使って端末に時計を表示する

2008年01月24日 10:56 Sergio-Gonzalez-Duran(2008年1月22日(火)) 1 2

 このスクリプトを使うと、時計以外にも役立つ情報を表示することができる。たとえば、uptimeコマンドを使ってCPUの平均負荷を監視したいとする。

uptime
09:19:56 up 1 day,  1:54,  4 users,  load average: 0.29, 0.39, 0.42

 最後の3つの値が、それぞれ過去1分間、5分間、15分間の平均負荷だ。これらの値を取り出すにはgawkコマンドを使うとよい。

uptime | gawk '{print $(NF - 2), $(NF - 1), $NF}'
0.72, 0.54, 0.47

 NFは出力されたフィールドの総数で、$NFは最後のフィールドの値である。clock.shで次の行を変更する。

cmd=`date +"%H:%M:%S %F"`

 これを次のようにする。

cmd=`uptime | gawk '{print $(NF - 2), $(NF - 1), $NF}'`

 次のようにして時間と日付を残してもよい。

cmd=`date +"%H:%M:%S %F" ; uptime | gawk '{print $(NF - 2), $(NF - 1), $NF}'`

 文字列の長さが19キャラクタ以内になっているので、wcコマンドで表示する位置を決めるようにするとよいだろう。変更するのは次の行だ。

C=$((`tput cols` - 19))

 これを次のようにする。

C=$((`tput cols` - (`echo $cmd | wc -c` - 1) ))

 出力の長さは「wc -c」(wc-cオプションを指定すると、パイプで送られた文字列のキャラクタ数がカウントされる)で算出する。-1は、$cmdの出力の最後の\rを除外するためだ。

 その他にも、使用量が増えていくパーティションの全体のサイズや利用可能な容量をdfコマンドを使って表示したり、オンラインのユーザーをuptimeまたはwコマンドで表示したり、psでプロセス数を表示したりすることができるだろう。Samba、Apacheなどさまざまなサーバーには状態通知コマンドがあるので、この方法で情報を取り出して表示できる。イマジネーションを働かせて変更を加え、オリジナルバージョンのclock.shを作ってみて欲しい。

Sergio Gonzalez Duranは、Linuxの管理、システム開発、ネットワークセキュリティのカウンセリングに従事している。また、Linux講座の講師を務め、スペイン語向けのLinuxやオープンソースWebサイトのlinuxtotal.com.mxを公開している。

Linux.com 原文

最終更新:2008年03月25日 17:07