これらのユーティリティプログラム集は全く無保証のフリーです. 再配布,修正,他のプログラムに用いることなど自由に行なっても構いませんが, いかなる障害が起こっても私は一切の責任を負いません.
お勧めは,
bms,
ipcalc,
ctype,
tcprelay,
cq,
stat,
ovw
です,
oda od -a と似た働きをする.
od -a は,8 ビット目を落して表示するが,oda は 128 以上のコードを
8 進数 3 桁で表現する.
ctype ctype 関数(マクロ)群 のチェック用.ASCII 0 〜 127 について,
以下のテストを行なう.
isalnum, isalpha, isascii, iscntrl, isdigit, isgraph, islower,
isprint, ispunct, isspace, isupper, isxdigit
prime 素数列生成プログラム.
prime 1000 1000 までの素数を表示する(エラトステネスのふるい).
prime 永遠と素数を表示する(遅い).
chist 文字コードヒストグラム.
chist -8 とすると 8 ビットキャラクタを認識する.-8 を省略すると,
8 ビット目が立っている文字は無視する.
inet_addr
10 進ドットフォーマット IP アドレスを 32 ビット整数に変換し,
10 進整数で表示.
inet_addr [ network-address ... ]
network-address は a.b.c.d のような IP アドレス.
inet_ntoa
10 進整数表されたで IP アドレスを,10 進ドットフォーマット IP
アドレスで表示.
inet_addr [ network-address ... ]
network-address は 10 進整数.
xor8 文字の 8 ビット目を反転して表示する.8 ビット目の落ちた
EUC 日本語コードの復元に役立つかも.
文字化けメールの復元は,bcut と合わせて用いると,ある程度は復元
できるかも.
httpget httpget URL で指定されたファイルをとってくる.URL は http で指定.
Netscape や Mosaic などの重そーなものを立ちあげたくない時に便利.
-d オプションをつけるとサーバが挿入するヘッダを飛ばして,
中身のみをとってくるようになる.
httpget [-d] URL
bms BM search を用いて,ファイル内に指定した文字列が含まれているか
どうかをチェックする.fgrep よりも高速である。
大量のファイル,巨大なファイルに対して用いる場合も,高速に動作する.
使い方は
bms [options] [-e] pattern [ file ... ]
-1 1 回のみマッチ.
-c マッチした回数を表示.
-C <n> マッチした行の前後 <n> 行を表示.
-E EUC コードに変換してマッチング.
-e 次にくる引数がパターンであることを意味.
-d >n> -r で再帰的にディレクトリを辿る場合,その深さの最大値を指定.
-f <name> <name> にマッチするファイル名のみ、検索する.
<name> にはシェルの正規表現 ?, \, [], * が使える.
-h ヘルプ表示.
-i 大文字子文字を区別しない.
-l マッチしたファイル名のみを表示.
-M マッチした場所の表示を反転しない.
-m マッチした場所の表示を反転する.
-n マッチした場所の行番号を表示.
-r ディレクトリを再帰的にたどる.
-V バージョン表示.
-v マッチしなかった行を表示.
-x 1 行全体が一致する行を表示.
-z *.gz ファイルの中身も検索する(zgrep のような動作をする).
jcode jis コード表を表示する.
uniqmerge
複数のファイルを,重複行を取り除いて混ぜる.数万行程度であれば,
ほとんど O(n) 時間でマージされる.非常に高速である.
uniqmerge [ -v ] filename [ filename ... ]
bcut bcut start [ end [ infile [ outfile ] ] ]
infile の start バイト目から end バイト目までを outfile に書き出す.
end に `-' を指定すると,最後までを表す.
infile に `-' を指定すると,標準入力を表す.
outfile に `-' を指定すると,標準出力を表す.
outfile が省略されると,標準出力に書き出す.
infile も省略されると,標準入力からデータを得る.
end も省略されると,最後まで入力を行なう.
stir stir [-v] [ filename ... ]
行をランダムにかき混ぜる.非常に高速である.n 行を O(n log n) 時間
でランダムに並び換える.
filename を省略すると,標準入力からデータを読み込む.
-v オプションをつけると冗長なメッセージを出してくれる.
test-memory
malloc で 何 Mbytes くらい,データが確保できるかを調べる
簡単なプログラム.
genpass パスワード作成プログラム
genpass [ salt ]
crypt パスワード検証プログラム
x DES の ECB モードに基づいた暗号化プログラム
x {e|d} key filename
e - 暗号化
d - 復号化
(GNU の libdes とは、互換性がないので注意。いつか、互換性をとるように
書き直すかも知れない。そのときは、以前暗号化したデータは復元できなく
なるから注意)
unixtimer
カレンダー時間の表示.
-1 オプションをつけると 1 度だけ表示.
-f オプションをつけるとより精度を高くして表示.
unixtimer [-1] [-f]
ctime ctime の表示.
ctime [ calender-time ... ]
datetime
date コマンドの出力の日付を calender-time に変換する.
datetime "date"
filesize
ファイルの大きさを表示する.
-b オプションをつけるとファイルのブロック数を表示する.
filesize [-b] [-h] filename
stat ファイルの情報を得る.
stat filename
lstat ファイルの情報を得る.
lstat filename
tcpopen tcp で指定したホストのポートを開く.
標準入力に入力された文字は,サーバに渡される.
サーバからやってきた文字列は標準出力に表示される.
-pasv オプションをつけると,指定したポートに接続されるまで待つ.
tcpopen [options] hostname {tcp_port|service}
tcpopen [options] -pasv {tcp_port|service}
options:
-h help
-timeout <timeout> time out (default is 900)
'-timeout -' means no time out
-V print version.
-bufsiz <buffer-size> buffer size (default is 4096)
-crlf map <lf> to <cr><lf>
getservbyname
getservbyname name proto
eucencode
EUC 文字を 16 進コードに置き換える.PS の日本語化に役立つ
rmcr \r(ASCII 13) を取り除く.DOS file ---> UNIX file の変換に役立つ
sort-lines
sort の高速版.
比較は,ASCII コードの辞書順に限る.
sort-lines [ filename ... ]
replace-string
文字列の置換.超高速な置換です.
replace-string from to [-e] [ filename ... ]
テキスト中の from を to に置き換える.
-e オプションをつけると EUC コードの文字境界の判定処理を
行ないながら置換する.
\n や \r などのエスケープシーケンスが利用可能.
expand-file-name
ファイル名を展開する.
emacs の expand-file-name とほぼ同じ動作をする.
expand-file-name [-s] [filename ...]
cpp-symbols
cpp のマクロシンボルを表示します.
tcprelay
TCP をリレーします。
gethostbyaddr
Gets a network host entry by address
Usage: gethostbyaddr ip-address
cq 文字をクォートして表示します。
Usage: cq [opts] files...
-h help
-V version
-c c-like (default)
-o octal
-O octal (all)
-x hex
-X hex (all)
-l less-like
winsize 端末の Window の大きさの値を設定/取得します。
Usage: winsize
winsize ws_row ws_col ws_xpixel ws_ypixel
大きさに「-」を指定すると、既存の値が用いられます。
stat ファイルの stat 情報を得ます.
readlink
シンボリックリンクを表示します.
bitdump 2進数でファイルをダンプ表示します.
ovw OVer Write
ファイルをバイナリ編集するのに役立ちます.
ccomm C 言語のコメントを表示/削除します。
Usage: ccomm -p filename コメントのみを表示します。
ccomm -r filename コメント以外を表示します。
ipcalc IP アドレスのビットマスク計算を行ないます。
例:
・ネットマスクを用いて、ネットワークアドレスを求める。
% ipcalc 210.154.33.106 and 255.255.255.248
210.154.33.104
% ipcalc 210.154.33.106 and /29
210.154.33.104
・ネットマスクを用いて、ブロードキャストアドレスを求める。
# ネットマスクは 「/bits」 という省略形で記述できます。
% ipcalc not /29 or 210.154.33.106 and /29
210.154.33.111
# 括弧で式のグルーピングができます。
% ipcalc not /29 or [ 210.154.33.106 and /29 ]
210.154.33.111
サポートしている演算子は以下の通りです(優先順位の低い順)。
or bitwise-or を取ります。
xor bitwise-xor を取ります。
and bitwise-and を取ります。
not ビットを反転します。
オプションは以下の通りです。
-h 簡単な説明を表示します。
-H 16 進で結果を表示します。
-B 2 進で結果を表示します。
-D ドット記法で結果を表示します(デフォルト)。