様々なメモ (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