Hotwireの内部コマンドを試す(独自コマンド編)
ここで紹介しているのは、Hotwire独自のコマンド。
help
起動後に表示されるヘルプを表示する。見たいときにこれを打ってもよいし、ヘルプを表示するタブを1つ用意して作業用のタブと切り替える使い方をしてもよい。sh
外部コマンドを実行する。実際には、外部コマンド実行時に自動的にこのshが使用されるため、省略可*1。同じ名前の内部コマンドと外部コマンドが存在していて、外部コマンドのほうを使用したいという場合には、先頭にshを付けるとよい。
(2008/3/18)バージョン0.710の時点ではsysに変わっている。
procとfilter
プロセス一覧。-aオプションを付けると全ユーザ、付けないと自分のプロセスのみ。右クリックメニューから「Kill」できるのが便利。下の例は全プロセスからの検索。プロセスID/ユーザ/コマンドのいずれからも絞り込める。
proc -a | filter [絞り込む文字列]
filterはパイプ経由の入力をフィルタする(グラフィカルな出力にもテキストデータにも有効)。-iオプションを付けると大文字と小文字を区別しない。
sh glxinfo | filter direct sh lsof | filter hotwire sh ifconfig | filter Link sh ifconfig | filter link sh ifconfig | filter -i link
current
過去に実行したコマンドの出力を再表示する。コマンド自体を再実行することなく、出力だけをフィルタし直すのに使えそう。current | filter [文字列]
一度「current | filter ...」を実行した後にcurrentを実行すると、そのフィルタ済みの結果が出るため、追加でfilterすることもできる。
sh dmesg current | filter eth0 current | filter Link
上の例では、2回目のcurrentで「eth0」を含む行のみが出てくるため、最終的には「eth0」と「Link」の両方を含む行のみが残る。
直前でなく、それ以前のコマンド結果をもとに処理をしたい場合はCtrl+上矢印キーでさかのぼってからcurrentを実行する。
term
端末エミュレータ機能を使用してタブを開く。引数なしで実行すると、デフォルトのコマンドラインシェルが起動する。-wオプションで新規ウィンドウに開くこともできる。mplayerのように、リアルタイムでキーボードからの操作を受け付けるものには必要。term mplayer [再生ファイル]
topやnanoなどでは、省略してもterm経由で実行される。
editとopen
どちらも、引数に指定したファイルを開くのだが、editは(デスクトップ環境でテキストファイルに関連付けられている)テキストエディタで、openは種類ごとに関連付けされたアプリケーションで開くことになる。*2開くアプリケーションが気に入らない場合はデスクトップ環境の関連付けを変更するか、lsのリストから右クリックして選択するなどする。fsearch
指定した文字列をファイルの内容から検索する。2番目の引数に、検索する対象ディレクトリを指定することもできる(省略時は現在のディレクトリ以下)。fsearch [文字列] ([検索対象のディレクトリ])
もし、読み取り権限の無いファイル/ディレクトリがあると、処理は失敗してしまう。手元の環境では
fsearch test /etc/
を実行したところ、/etc/group-が開けず、「exceptions.IOError」(Errno 13)で止まった。
sechash
SHA-1(オプション無しで実行)もしくはMD5(-5オプションを指定)のハッシュを計算して出力する(ファイル名は表示されず、ハッシュの文字列のみ)。sechash [ファイル名] sechash -5 [ファイル名]
prop
パイプ経由で、引数に指定した名前の属性の項目を表示するらしいのだが、よく分からない(特に、指定する属性名)。fsearch [文字列] ([検索対象のディレクトリ]) | prop path fsearch [文字列] ([検索対象のディレクトリ]) | prop text proc | prop pid proc | prop cmd
write
writeは、リダイレクトでファイルに書き出すのと同じ効果。他のユーザにメッセージを送る機能はない。追加書き込みする場合は-a付きで実行。sh echo a | write out.txt sh echo b | write -a out.txt
上のechoは外部コマンド(/bin/echo)を使用している。処理としては、「a」をout.txtに書き込んだ後、「b」を追加書き込みしている。すでに存在しているファイルに対して-aオプション無しで書き込むと、内容は上書きされてしまい、これを防ぐ設定は現状では存在しない?
writeの代わりにシェルのリダイレクトを使用すると下のような書き方になるが、lsやprocなどのグラフィカルな出力をする内部コマンドはリダイレクトできない。*3
sh echo a > out.txt sh echo b >> out.txt
使用したバージョン:
- Hotwire 0.620