2013年2月16日土曜日

なんか重いな~と思った時についつい実行してしまうコマンド top


みんなで共用する Unixなホストにおいては、ジョブの集中やら、
誰かのジョブの暴走などで、時折 CPU過負荷状態になり重くなるもんですよね。
そんな時、反射的に実行してしまうコマンド……。

% top

CPU負荷の高い順で、プロセスをリアルタイムで表示してくれます。
ま、これでマシンを重くしている犯人捜しをするわけですな (^^;)
とっても coolなソフトなんですが、このソフト自身の CPU負荷も結構なもので、
topと言う命名は実行すると自身のプロセスがトップにくるから topなのだ、
…と揶揄されていたほど (-_-;)
まあ、最近のマシン事情を鑑みれば、topの CPU負荷なんて大したことないとは思いますが、
かれこれ 十数年前くらいは……、
マシンが急に重くなる → 皆が一斉に topする → さらに重くなりマシンダウン → reboot
…なんてことが、たびたびあり、top禁止なんてこともありました (^_^;)
どんだけ poorなマシンなんだよっっってお話なんですが、まぁ十数年前はそんなもんでしたよね(^^;)
ちなみに、topの抜け方は q と打てば抜けられます。

Linuxとかは大抵の distributionで最初からインストールされていると思いますが、
Solarisな人とかは、ソース拾ってきて自力で build & installしないと駄目かもしれないですね。
便利なソフトなので、大抵の管理者は /usr/local/bin/ あたりに入れてくれているとは思いますが。

それではまた。


お部屋を飾るインテリアには枯れないお花、造花がお勧めです♪
造花のインテリア、アートフラワー通信販売からどうぞ♪

2013年2月10日日曜日

UnixUser のキー操作


UnixUser のキー操作、、、まあ、ほとんど勝手な思い込みですよっ!!!

Enterキーは使わない、 漢は黙って CTRL+m
一文字削除に Deleteキーは使わない、漢は黙って CTRL+h   (stty erase ^h)
全文字削除は 漢は黙って CTRL+u (stty kill ^u) KILL YOU!!!
TABキーは使わない、漢は黙って CTRL+i
ESCはキー使わない、漢は黙って CTRL+[  たまにEnterに触れて泣く。
ヒストリPrevのカーソル上キーは使わない、漢は黙って CTRL+p
ヒストリNextのカーソル下キーは使わない、漢は黙って CTRL+n
画面クリアに clearとか打たない、漢は黙って CTRL+l
コマンド行先頭に行きたい場合は CTRL+a が便利だなぁ。
あと他になんかあったかな。

最近の106なキーボードってなんでこんな不幸な位置にあるんだと嘆きつつ、
つりそうになる小指を労わる毎日……。
ソフトウエア的にCapsLockと Ctrlキーを入れ替えたりするのは邪道と考えており、
キーボード本体の入れ替えを考えることになる。

以上、UnixUserのあるあるネタでした、、、な、無いって? (-_-;;)

それではまた。


お部屋を彩るインテリアに造花がお勧めです♪
手間いらずの造花のインテリア、「造花のインテリア販売」からどうぞ♪

ご近所さんブログの造花のフラワーアレンジメントも宜しくです♪


2013年2月5日火曜日

複数のディレクトリを頻繁に行き来しつつ作業する人向けのシェルスクリプト

主に csh/tcshシェル使い向け、set/aliasのシェルスクリプトのご紹介です。

複数のディレクトリを頻繁に行き来していると、何度も同じディレクトリ名をタイプするのが
だんだん億劫になってくるものです。 まぁマウスでコピペすれば良いって話もありますが…。
ちなみに、tcshの場合は 直前(1個前)のディレクトリを記憶していて、
%cd -  で直前のディレクトリに戻れたりします。

これは便利なのですが、直前だけでは物足りない!!! もっと複数記憶させたいと言う人向けの設定です。
setと aliasのみの簡単なシェルスクリプトです。

set m0=$home
set m1=""; set m2=""; set m3=""; set m4=""; set m5=""; set m6=""; set m7=""; set m8=""; set m9="";
alias cd  'cd \!*; set m9=$m8; set m8=$m7; set m7=$m6; set m6=$m5; set m5=$m4; set m4=$m3; set m3=$m2; set m2=$m1; set m1=$m0; set m0=$cwd'
alias m1  'cd $m1 ; echo $cwd '
alias m2  'cd $m2 ; echo $cwd '
alias m3  'cd $m3 ; echo $cwd '
alias m4  'cd $m4 ; echo $cwd '
alias m5  'cd $m5 ; echo $cwd '
alias m6  'cd $m6 ; echo $cwd '
alias m7  'cd $m7 ; echo $cwd '
alias m8  'cd $m8 ; echo $cwd '
alias m9  'cd $m9 ; echo $cwd '
alias pwd 'echo $cwd'
alias mls 'echo m0: $m0; echo m1: $m1; echo m2: $m2; echo m3: $m3; echo m4: $m4; echo m5: $m5; echo m6: $m6; echo m7: $m7; echo m8: $m8; echo m9: $m9'


○使い方
  1. ディレクトリの記憶は cdで移動したときに勝手にやってくれる。(10個前以上は順次消去)
  2. 記憶されたディレクトリリストを見たい場合は、 %mls   を実行。
  3. リストにあるディレクトリに移動したい場合は   %m1~9 を実行。
  4. リストにあるディクトリに何らかのアクセスをしたい場合は $m1~$m9 で。

○使用例
  %pwd
   /home/user1/
  %cd hoge
  %cd /home/user2
  %cd foo
  %mls
   m0: /home/user2/foo/         (カレントディレクトリ)
   m1: /home/user2/             (1個前のディレクトリ)
   m2: /home/user1/hoge/        (2個前のディレクトリ)
   m3: /home/user1/             (3個前のディレクトリ)
  %m3                           (m3に移動)
  %mls
   m0: /home/user1/             (カレントディレクトリ)
   m1: /home/user2/foo/         (1個前のディレクトリ) 
   m2: /home/user2/             (2個前のディレクトリ) 
   m3: /home/user1/hoge/        (3個前のディレクトリ) 
   m4: /home/user1/             (4個前のディレクトリ)
  %ls
   aaa.txt bbb.txt
  %mkdir $m1/aaa                (/home/user2/foo下にaaaディレクトリ作成)
  %cp -p aaa.txt $m1/aaa/       (/home/user2/foo/aaa下に aaa.txtをコピー)



かなり単純なシェルスクリプトですので、記憶するディレクトリの重複チェックとかは無いです (^^;;)
ログインシェルの設定ファイル、 .cshrcもしくは、.tcshrcの末尾にでも貼り付けておけば
多少は幸せになれるかもしれません :D
お使いの環境とかの相性とかもあるかもしれませんので、適当なファイルに saveして、
sourceで実行して試してからの方が良いかもしれませんね。

それではまた。


 水も手間もいらない、枯れないお花、造花インテリアがプレゼントにはお勧めです♪
 興味がある方は、アートフラワー(高級造花)販売まで宜しくお願い致します♪

ご近所さんブログ、アートフラワー画像集も宜しくです。

2013年1月28日月曜日

Vimの衝撃

十数年前、Spark Station 10あたりを使っていた頃のお話。
メールは MHを使ってましたし、重いってのもありまして emacs/mule系は避けていました。
エディタと言えば、もっぱら vi、やっぱり viですよねっ (^^;)
すっかり jklh移動のキーバインドも慣れた頃、viの拡張機能搭載版のエディタ
vimの存在を知りました。(その拡張機能は tcshに出会った時くらいに衝撃を覚えました)
当時はマルチバイト未対応だったので 独自の日本語対応版Jvim+onewとか使ってました。
最近では vimは Windows版などもリリースされておりますので、
未だに vimは愛用させていただいております。(マルチバイト対応の Vim6.0良いですよねっ)

vi と比べて vimの優れる点と言えば、、、
  1. カット&ペースト機能 (箱型も可能)
  2. 画面分割して分割表示や複数ファイル表示が可能
  3. UNDO/REDOが無限
  4. レコーディング機能

他にもたくさんあるのですが、まぁ切がないと言うか、たぶん使い切れていないと言うか…(^^;)
そんな vimユーザが贈る、便利な .vimrc設定メモっ !!!

---------------------------------------------------------------------------------------
set report=1          ... 一括置換とかした時のレポート下限値(一個でもレポートさせる設定)
set showmode          ... 現在のステータスをステータス行に表示(INSERTだとか、REPLACEだとか)
set ls=2              ... ステータスバーのカラー反転?
set ic                ... 検索や置換時に大文字/小文字を区別しない
set tabstop=4         ... tabstop 8は横に間延びしすぎて嫌いです…
set nobackup          ... 自動バックアップとかいらない人向け
set nowrap            ... 1行が長い場合表示を折り返してくれるのを抑止
set ruler             ... 今何行目? 何文字目? をステータスバーに表示してくれる機能
set undolevels=1000   ... UNDO/REDOの上限値設定
"
map ; :               ... コロンよりセミコロンが好きなおおちゃくな人向け
map v @a              ... レコーディング a の発動
map b @b              ... レコーディング b の発動
map W ^W              ... CTR+Wって指つりますよね…な人向け
map > ^W+             ... 複数表示させているときの画面拡大
map < ^W-             ... 複数表示させているときの画面縮小
---------------------------------------------------------------------------------------

特にレコーディング機能は慣れると便利ですので、簡単な例題をご紹介しておきます。
.vimrcの設定として上の"map v @a"は仕込んでおいてください。

[例題] 1~100の数字を 1行に一つ記述。

1
2
3
~中略~
98
99
100

上記のようなイメージです、これを vimのレコーディング機能を用いてやるとどうなるか。

[step.1] まず、1行目に 1と書く。
[step.2] qa と打って レコーディング開始 (レコーディング aに記憶開始)
[step.3] yyでヤンクし、pでペーストする。
[step.4] 既にペーストした行に移動しているはずなので、ここで CTL+a (数字がインクリメントされる)
[step.5] q と打ち、レコーディング記憶の終了。
[step.6] あとは vを連打(mapしていないなら@a)、と言うか押しっぱなしで ok。
         あっという間に 1~100のナンバリングが!!

まぁ、これはあくまで例題で実用性は無いのですが、もっと複雑な組み合わせとかにも使えますし、
それまでは、あ"~ scriptで処理するか~、、、てなことも、vimのレコーディング機能で出来てしまう、
…と言うことも結構ありました。 良かったらご参考まで。

それではまた。

造花のインテリアにご興味のある方は、造花の通販まで宜しくです。

2012年3月20日火曜日

なんか勝手に謎のファイル coreとか言うのが出来てガクブルしていたあの頃

まあ冗談ですけど、coreファイルって使わない人にとっては邪魔ですよね :P
異常終了とかしたプロセスのメモリイメージをそのままダンプしたものなので
ファイル容量も結構で大きかったりしますし…。
手慣れたプログラマなら coreファイル使ってデバッガであれこれしちゃうんでしょうけど。
デバッガなんて使ったことのない、嗜み程度の日曜プログラマには無用の長物でした ;(

そんな、私みたいな人に便利な、シェルの環境設定 (csh/tcsh系の場合)

  % limit coredumpsize 0

…とすると、coreファイルを勝手に作らなくなります。
.cshrcにでも設定しておくのが良いでしょうー。
詳細に付きましては % man limit  とかしてくださいませ。

ちなみに、一体いつ出来たのか不明な coreファイルを調べる方法として、

  % file core

…とかすると、何のプログラムが強制終了した時に誕生したのか分かります。
まあ、limitで coredumpsizeを 0にしてしまえば、2度と出会うことも無くなるんですけどね。
それではまた。

お部屋を飾るインテリアとして、枯れないお花、高級造花アートフラワーがお勧めです♪
興味がある方はアートフラワー 通販からどうぞ。
よければ、知り合いブログ造花の写真館もよろしくです。