様々なメモ (UNIX Tools編)
UNIXで様々なツールを使う時のメモです。[[ Shell ]] ps の出力から xxx という文字列を含むものを捜し出して、そのプロセスを殺す ( 抜ける時にプロセスを大量に残す人などに有効 ) : kill `ps -axu | grep xxx | awk '{print $2}'` [[ Lynx ]] スタートページのデフォルトを指定したいとき 環境変数 WWW_HOME に指定すれば良い。 具体的には、.cshrc なら setenv WWW_HOME http://..... とすれば良い [[ Emacs ]] [ gnus ] ニュースサーバを明示的に指定して立ちあげたいとき : C-u M-x gnus ニュースサーバごとに .newsrc ファイルを使い分けるには : .newsrc ファイル名を .newsrc-SERVER とする rot13/47 : C-c C-r [ mail ] RMAIL の場合、~/.emacs に (setq mail-self-blind t) という行を追加すると、メールの送信時に自動的に Bcc: が追加され、 自動的にそのメールが自分にも送られてくる。 [ egg ] 特殊な記号や文字を入力する時 : C-^ or M-x special-symbol-input [ egg のカスタマイズ ] ローマ字カナ変換の方法をカスタマイズするには : 1) まず、/usr/Nemacs-3.3.2/lisp/egg-rk.el を自分用に、 自分の適当なディレクトリにコピーする。 2) emacs でそれを適当に編集してカスタマイズする。 3) emacs でそれをカレントバッファにおいた状態で、 M-x eval-current-buffer を行ない、それを emacs のメモリに 覚え込ませる。 4) その状態で、M-x dump-egg-mode-map とする。 EGG Mode: と聞いてきたら、roma-kana と答える。 Output file name: と聞いてきたら、egg-rkdump.el と答える。 5) これで、必要なファイルができたので、それを適当なディレクトリに 入れて、(例えば ~/elisp) .emacs に次の行を入れる。 (if (file-exists-p "~/elisp/egg-rkdump.elc") (load-file "~/elisp/egg-rkdump.elc")) 6) .eggrc が無効になることもあるので注意。 [cmutex] UNIX Magazine 1993.1 & 1993.3 [ online dictionary ] 起動 : M-x online-dictionary カーソル位置の単語をパターンとして起動: : M-C-d [ X 用の設定 ] (cf. マニュアル等) Command x-set-kfont ( X Window で使用する漢字フォントを設定する) x-set-font ( ank ) の他に、.Xdefaults に、 nemacs.BodyFont: 8x16 nemacs.KanjiBodyFont: kanji16 nemacs.Font: 8x16 nemacs.KanjiFont: kanji16 x11nemacs*BodyFont: 8x16 x11nemacs*KanjiBodyFont: kanji16 のような記述をするという手もある。 [ emacs そのもの ] (cf. マニュアル等) マルチプルウィンドウで、他のウィンドウを小さくして現ウィンドウ を大きくする方法 : C-x ^ キーボードマクロ マクロ定義開始 : C-x ( マクロ定義終了 : C-x ) マクロ実行 : C-x e ハードディスク上のより新しいファイルを今のバッファへ読み直す方 法( RCS などでチェックインを行なった場合など ) : M-x revert-buffer [[ fortran ]] [ compile option ] -C : 配列の範囲を越える添字をチェックする -u : 暗黙の変数宣言を無効にする -xld : 行頭に D がついていてコメントになっている行もコンパイルする (これを用いるとデバッグがやりやすい) [[ TeX ]] [ 紙に横向きに書き、印刷したい ] (ASCII-JLaTeX) 1. スタイルオプションで landscape を指定 例) \documentstyle[landscape,a4j]{jarticle} 2. PS にするには、dvi2ps -o landscape ファイル名 ... で OK. [ 4up で B5 2枚を B4に出力 ] 1. b5j スタイル指定で LaTeX の文書を作る。(ASCII-JLaTeX) 2. dvi2ps & 4up なら以下のようにするだけ % dvi2ps -o b4 foobar.dvi | 4up -n -page 2 | lpr [ @ を .tex ファイルの中で用いる ] @ を含んだ部分を \makeatletter \makeatother で囲む。 [[ p2c ]] *.p --------------> *.c -----------------> 実行ファイル "p2c *.p" "cc *.c -lp2c" [[ X フォント ]] ( Cf."The Unix Super Text" <上> pp.551- ) [ フォントのリストを得たい ] xlsfonts (フォント名が不確定な時) xlsfonts -fn '-adobe-courier-bold-*--14-*' など [ フォントを見てみたい ] xfontsel (対話的:一部しか見られない:フォント名がよくわからない) xfd -fn フォント名 (非対話的:全部見られる:フォント名が明記される) (ex) xfd -fn '-jis--14-*' (ex) xfd -fn '-*--*-jis*-*' (漢字フォントのリスト) どうやら、 -*--*-jisx0208*-* 漢字フォント -*--*-jisx0201*-* 半角カナフォント で、漢字フォントは今のところ、X11R5についてくる実体としては -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0 -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0 -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0 の3つしかないようだ。(他はエイリアス) 実際には、 k14 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0 kanji16 -jis-fixed-medium-r-normal--16-*-*-*-*-*-jisx0208.1983-0 kanji24 -jis-fixed-medium-r-normal--24-*-*-*-*-*-jisx0208.1983-0 というエイリアスが使える。 [ フォント名の記述 ] フォントパス(/usr/X11R5/lib/X11/fonts/*) 中にある fonts.dir (ファイルとフォント名の対応表) fonts.alias (フォント名のエイリアス) [ フォントパスの設定 ] xset fp= ... [[ その他 X 関係 ]] [ 画面切り取り ] xwd > ファイル (切り取り) xwud -in ファイル (画面への出力) 例) geometry 260x400+313+83 部分の切取りを10秒後に行なう xwd -sleep 10 -geometry 260x400+313+83 > ファイル 他には xv の grab でも良い [ サーバ の設定状況 ] ( Cf."The Unix Super Text" <上> pp.556- ) xset q [ xterm, kterm 内で meta キーを使うには ] XTerm*VT100*eightBitInput: false とか、 kterm*vt100*translations: #override Meta: string("\033") insert() とか、 KTerm*eightBitInput: false とかリソース設定をする。 普通は、.Xresources か .Xdefaults (ちなみに、.xsession は普通は .Xdefaults を読まないので注意。)に書く。 全員に通用させたければ、 /usr/X11R5/lib/X11/app-defaults/KTerm,XTerm に *VT100*eightBitInput: false とでもかくこと。 [ リソース設定 ] xrdb コマンドで行なう。例えば .Xdefaults などを用意し、 xrdb .Xdefaults とする。 付け加える場合は、 -merge オプション。 現在のリソース設定を見たければ -query オプション。 Xdm -> .xsession 経由の場合、普通は .Xdefaults を見ないので要注意。 [[ z(x,y)modem ]] (Cf. man sz) とりあえずmomongaからファイルを電話回線経由で送りたいという場合は、 受け手側が z(x,y)modem 対応の通信ソフトで通信しながら、 sz -a ファイル名 (テキストファイルの場合) sz -b ファイル名 (バイナリファイルの場合) を momonga で行なった後、受け手側のソフトで receive すればよい。 基本的にワイルドカードが使える。 [[ sendmail ]] (Cf. Unix Magazine '89 Nov.) /usr/lib/sendmail -bv アドレス : アドレスが正しいかどうかチェックする。 [[ nslookup ]] (工学部LAN接続の手引 ver 2.0 pp.23) [ IP アドレスから、マシン名を知りたい ] 例で示す。 130.69.140.19 を知りたい時、 % nslookup > set q=PTR > 19.140.69.130.in-addr.arpa とすると、結果が得られる。これは、そのネームサーバに PTR フィール ドが登録されている場合だけ得られるので、そのドメインのネームサー バに接続しないと答が得られない。 ネームサーバの探し方は、例えば、gen.u-tokyo.ac.jp を引き受けてい るサーバを知りたければ、 > set q=NS > gen.u-tokyo.ac.jp でわかる。 で、ここで得たネームサーバに切替えて > lserver ほげほげ (server コマンドでも良いが、lserver の方が早い) > ls gen.u-tokyo.ac.jp 繰り返せば良い。 ドメイン名が全然わからなくても、せめて ac.jp か ad.jp か、co.jp かくらいは想像がつくので、そこからたどっていけば良い。 なお、ls はリダイレクトが効く。 [[ gnuplot ]] load "..." : ... というファイルに gnuplot への命令を書いてお くとそれを読んで実行する( # がコメントマーク )。 print ... : その値を出力する。関数電卓がわりに使える。 replot : もう一回グラフを出力 set contour : splot の場合、等高線もつける set nokey : 右上の説明文を消す。 : 説明文は (s)plot の title オプションで変える set output "..." : グラフの出力先を ... ファイルにする set samples ... : サンプル点の数を指定する。ファイルデータから図 を出力する時は無意味。 set terminal table : グラフではなく、数値で出力してくれる だから、数値計算の初期値を作るのなんかにとても便利 set title "..." : 全体のタイトルをつける set xlabel "..." : x 軸にタイトルをつける set xlabel "..." a,b : さらにタイトルを右に a 文字分、上に b 文字分ずらす set xrange [a:b] : x 軸の値の範囲を a から b までにする set xtics (0, 2, 4) : x 軸で値が 0, 2, 4 のところに刻みを入れる set xtics ("a" 0, "b" 2, "c" 4) : x 軸で値が 0 のところに a と書き…刻みを入れる (s)plot ... title "abc" : 書くグラフの右上の説明タイトルを abc に set logscale x : x 軸を対数スケールにする : このとき、xrange が適切になってないと : エラーになるのでそういうときは : set xrange [a:b] で a <= x <= b を明 : 確に指定する set terminal postscript eps 22 set size 1.5,1.5 set output "filename" plot .. : eps 形式でちょっと大きめに出力 set terminal postscript eps color 22 : さらにこうするとカラー出力になる set contour { base | surface | both } : 3次元図 ( splot ) の場合に等高線を描く : base (デフォルト) だと底面に、 : surface だと面自体の上に、 : both だと両方に描く set nocontour : 等高線を描かない set data style 描画方法 : データの描き方のデフォルトを設定する set function style 描画方法 : 関数の描き方のデフォルトを設定する : 描画方法は、下のいずれか : lines : 折れ線 : points : マーカ : linespoints : 上の両方 : impulses : 垂線 : dots : 点 : errorbars : 誤差表示の時のみ set noparametric set hidden3d splot "datafile" with line : 次のようなデータファイルを読んで隠線 処理をした3次元図を書く (注) この時、全てのデータが同じ長さを持っていると「格子状データ」 であると解釈され、各孤立線を結ぶ横断線も引かれる。 よって、これを逆手にとって、一つだけデータの長さを変えておけ ば、with line モードでも各孤立線が独立した図を描ける!! (その場合は隠線処理はできない) z(x1,y1) z(x1,y2) z(x1,y3) : : z(x1,yn) (空行) z(x2,y1) z(x2,y2) z(x2,y3) : : z(x2,yn) (空行) z(x3,y1) z(x3,y2) z(x3,y3) : : z(x3,yn) set parametric set hidden3d splot "datafile" with line : 次のようなデータファイルを読んで隠線 処理をした3次元図を書く (注) この時、全てのデータが同じ長さを持っていると「格子状データ」 であると解釈され、各孤立線を結ぶ横断線も引かれる。 よって、これを逆手にとって、一つだけデータの長さを変えておけ ば、with line モードでも各孤立線が独立した図を描ける!! (その場合は隠線処理はできない) x1, y1, z x1, y2, z x1, y3, z : : x1, yn, z (空行) x2, y1, z x2, y2, z x2, y3, z : : x2, yn, z (空行) x3, y1, z x3, y2, z x3, y3, z : : x3, yn, z [[ CD ROM ]] [ Sun OS 用 CDROM の eject ] (Superuser にて) eject cd [ Sun OS 用 CDROM のマウント ] (Superuser にて) mount -t hsfs -r /dev/sr0 /cdrom (マウント) ( ) umount /cdrom (アンマウント) [ Sun OS 用 CDROM からファイルを抽出する方法 ] (cf. "SunOS 4.1.1 トラブルシューティング" pp.129-) たとえば、/usr/openwin/lib/fonts/* を落したい時、 まず、このファイル群のカテゴリは /OpenWindows_Fonts であるから、 (このカテゴリは、"SunOS インストレーションガイド" 1-16 にある) (Superuser にて) /usr/etc/install/list_files sr0 /OpenWindows_Fonts | less として、このファイル群がこのカテゴリに対してどういう相対パスを持っ ているかを調べる。 この場合、 rw-rw-r-- 0/1 16620 Jun 28 05:05 1990 ./openwin/lib/fonts/12x34.fb などと返ってくるので、ワーキングディレクトリを例えば /tmp とすると、 cd /tmp /usr/etc/install/extract_files sr0 /OpenWindows_Fonts -f ./openwin/lib/fonts/12x24.fb とすることで、 /tmp/openwin/lib/fonts/* が作られる。 [[ giant packet ]] ff:ff:ff:ff:ff ? のこと? ちなみに 4/14 に le0: Receive: giant packet from 8:0:20:e:e7:94 le0: Receive: STP in rmd cleared ということが起こっている。 [[ Sun OS ]] OS CD-ROM に入っているカテゴリは以下のようである。 root usr Kvm Install Networking System_V Sys SunView_Users SunView_Demo Text Demo OpenWindows_Users OpenWindows_Demo OpenWindows_Fonts User_Diag Manual TLI RFS Debugging SunView_Programmers Shlib_Custom Graphics uucp Games Versatec Security OpenWindows_Programmers