docstripやxkeyval、pstricksを加えたりした。*とか、何やら不可思議なことを訊かれる。適当に答えればめでたくstyファイルをはき出してくれるんだろうけど、その適当が分からん。なかったらインストールしておいてください。上記の手順はProsperをインストールしてある前提で書いています。powerdotを正常に動作させるには、CTANからダウンロードしたバージョン1.24以上prosper.clsが必要です。ことなので、prosperも追加。colortblとextsizesもいるという噂が浮上。なんかよく分からなくなってきた。がんばれ未来の自分!./usr/sty/以下にすべてあります。scriptの使いかたとかの備忘録。bash,tcshellの場合があるので、注意すべし。†ログとかを残しててquotaの関係で圧縮したいときがある。そのときにファイルを固めたあとに古いファイルだけ消したいときがあって、そのやりかた。こちらのサイトをまるっと参考にさせていただいた。-fこれはやばいコマンドなので、以下のコマンドでチェックしてからにしよう。lsちなみに、findの+50を-50にすると「今日から50日以前」という指定が、「今日から50日以内」という指定になる。単純に50だけだと、「50日前の日に更新されたファイル」になるらしい。memoryの使用状況はipcsをうてば分かる。解放したいときには、ipcrmとかipccleanで消せる。このときに自分のプロセスが走ってないか注意する。aho.datとする。オプションをつけると、ファイルのパスだけが出力される。†プロットとかをログブックに貼っていると、ファイルをどこに置いたか分からなくなるので、印刷するときに自動的にそのパスを付け加えるようにする。あほっぽいけど、postscriptの中身に直接書き込んで無理矢理表示させてみた。$NAME_OF_PS_outやってるのは、postscriptの中身の「showpage」を見つけてきて置換しているだけ。これで、すべてのページの左下にパスが書き込まれるはず。10」の部分、文字サイズは「30」の部分である。文字の色は最初のsetrgbcolorで設定している。RGBで、0-1の間で濃淡をつける。目立たないように灰色にしてる。これを印刷スクリプトにくっつければ、印刷するときにだけ書き込まれていい感じ。印刷できないときがあるけど、それはもう仕方ない。ps2psとかしたらいけるときもあるし、いけないときもある。人生とはそういうものである。†ジョブが終わる度にやってくるメール。これが1000通単位でくるので、ディスクを圧迫してやばい。メールを出さないように調教する。メールアドレス・・・とする。†バッチジョブを投げるときに標準出力を貯めつづける.nqsディレクトリがあるんだけど、それが放っておいたらqutaを食い尽くして失敗する。そこで.nqsディレクトリを定期的に監視して、一定容量を超えたらrm&mkdirするスクリプトを設置。大したことはしてない。/home/$USER/.nqsfiこれをcrontabで30分おきに回している。2011.10.31何GBもquota食い尽くさないようにする方法を発見した。†gnome端末を開くときにデフォルトでサイズなどを変えておくと、いちいちいじらなくて良いので楽。「exec」の値を変える。--geometry=WIDTHxHEIGHT+X+Yパネルに追加しているときには、右クリックしてプロパティでも設定可能。†しーしぇるを使っています。zshがなにがしか便利らしいけど、そんなに使いこなしてないのでまあいいや。backward-delete-wordCtrl+Wで一文字バックスペース。これがかなりやりたかった。history-search-forward打ちかけで矢印やCtrl+P,Nを押すと、履歴検索して補完してくれるようになる。ltnプロンプト設定。こちらのサイトを参考にさせていただいた。むらさきのくもさんちなみにforward方向に単語単位でdeleteするときはAlt-dでできる。†shellに入れて良いのか分からないど・・・スクリプトを書くときに、簡単な文字列処理や変数を使った計算を行いたいときに重宝する。実験室のマシンのバックアップをとる。/etc/auto.masterを編集してマウント、crontabで定期的にスクリプトを実行する。†バシャログさんの記事から。使えたらかなりよさそう。使いこなせてないので、どんどん楽したい。www.google.co.jpとすれば、一番近くのDNSサーバに聞きに行く。†スクリプトを書いてみた。アルファベット順にページを作るので、順番は名前を変えてもらえばいいです。サイズは適当に横だけで600指定しているけど、適当に変えてもらえればOKだと思います。最後にpsファイルを全消去してしまうので、ディレクトリ内にpsファイルは置かないようにしましょう。引数にファイル形式を指定するのを忘れるので、それをフォローするようなerrorと、あとpsファイル全消しの恐怖をぬぐうための対策。コマンドpathきって使ってます。以外と便利!mogrify2pdfやっぱりサイズを調節したいので、第二引数にサイズを指定できるようにした。size(defalt=600)]epsファイルはわざわざpsにしなくてもgsコマンドで変換できるし、そのほうが画質も良いので回避した。epsファイルとかがうまくgrepできなくて同じページが2つ出力されることがあったのを回避した。lsのときに-vオプションをつけて、数字が二桁になっても順番になるようにソートを最適化。epsじゃないととにかく画質が悪いので、なんとかしたいなぁ・・・。あとページ配置が変なので、これを調節したい。†CentOSのファイルマネージャはNautilusを使っている。パスとするとGUI的に開ける。†したいなぁと思って、誰かやってるだろと思って検索してみたらやっぱりhitした。PCバイクさんけど、mogrifyというコマンドがあるんだって。*.psでOK!UNIX入門さんのページに使い方があった。†コマンドやシェルスクリプトが終わったということを確認するための、終了コードというものがある。†sshを利用した技のひとつにsftpがある。これはそのまま「secureなftp」の意味でリモートホストにいるような気分でローカルマシンに"download"もしくは"upload"できる。便利な技として、putとgetがある。コピー先のファイル名でローカルホストからリモートホストにファイルをコピーする。コピー先のファイル名でリモートホストからローカルホストにファイルをコピーする。lsでリモートホスト、llsでローカルホストに大してlsを行えたり、同じ要領でcdができたりもする。使いこなせば便利そう。このページが参考になった。†pdfファイルから画像ファイルのみを抜き出す技。outputと指定してやるだけで、output-○○という画像ファイルを作ってくれる。オプションを-jとすればjpgファイルとして出力される。その他のオプションは次のとおり。†Cシェル系で使える便利な技。'ls'とすればディレクトリが変更されるたびにlsが実行される。llにしたら詳細も表示される。大量にファイルがある場合は嫌になるので、ファイルが多い場合はlsしない、とかシェルで書いたらヒーローになれるんじゃなかろうか...。cwdcmdとprecmdはそれぞれtcshの特別なエイリアスで、指定されている場合は自動的に実行されます。デフォルトでは未定義になっています。いうことで(ここ参照)、Cシェルを使う場合には便利なaliasがあるみたい。userdir/message.datとしてみたが、なんとlessの表示がすべてmessage.datの内容になってしまった。原因はlessの拡張機能であるLESSOPEN変数の中身のシェルコマンドがcshellを呼び出しているためで、tcsellを使う度に.csrcは実行されるから常にmessage.datが表示されていたと判明した。tcshellを使う度にメッセージが出たのではかなりめんどくさい。ターミナルをあげるとき、一回だけメッセージを出したい。...と、やり方を探してみたが、全然みつからないので、シェルを使って無理矢理やる。msfragを書き足した。やってることは、setでシェル変数msfragのなかに環境変数のmsfragという文字列の数を入れて、これが0ならcatでファイルを書き出す。書き出されたら環境変数msfragが設定されるので、今度からはシェル変数msfragは必ず1になる。if内は実行されない。環境変数にmsfragを作っているかというと、シェル変数のsetには前に実行されたシェルコマンドも残っているので、これがたまたま合うと不具合を起こす可能性があるため。めんどくさい!何か賢い方法を知っている方は教えてください。.cshrcに書くのはあまりよくないみたい。scpをしたときに起動されて、出力をどう扱ったらいいかわからずに終了してしまう。このままだと不便なので、.loginに書くが、やっぱりそうしたらloginしたときしか表示されず、「ターミナルをあげたときに表示したい」という当初の目的が達成できない。sshとかscpとかのscriptを読んでみるしか対策は立たんのか...。研究は続行していきます。結果的に「ssh使ってるときに立つ環境変数で条件分岐」という手法でscpなどのときに起こる問題を回避した。あるところにsshをしたときにSSH_CLIENTとSSH_TTYという環境変数が立っている。これがあるかないかで条件分岐をした。ちなみに少し賢くなって、$?変数名で変数が定義されたものなのか未定義なのかを調べることができる、という技を使って前の部分もスマートにした。.cshrcに書き加えるのは次の部分。1endifこれでOK!...なはず!なんとまた問題発生!上のコードを書いておいたら、rebootしたあと起動しなくなった。envで環境変数を見てみたら、msfragが立っていてだめみたい。ログインのどこかのタイミングで実行されて、ずっと残っているのか?msfragをsetでローカルな変数にしても、if文には引っかからないみたいで、だめ。何か良い方法はないものか...。†firefoxの調子が悪いので、他の方法を探す。探すとターミナル上でテキストブラウザを使ってwebに接続することができることが分かった。lynxとかいうアプリケーション。lynxの簡単メモw3mとかいう技もあるらしい。emacsと併せて使えるとか。A4をA3にするなら次のようにする。output.psでOK。output.psコマンドでいける。研究室環境では後者が無理っぽい。→(10.11.29追記)前者も無理なことがある。そのときは以下の方が作ったpsjoinというスクリプトを実行すれば良い。psjoin出力はテキストなので、適当にリダイレクトすればOK。outputfileで分割できる。†bashではaliasは引数を扱ってくれない。そこでシェル関数を使う。めんどいが、引数などの扱い方が変わる場合には嬉しい...かもしれない。文字コード変換の便利コマンド。(Latin-1)として扱う。シフトJISと仮定して処理する。壊れた(ESCが欠損した)JISと仮定して処理する。-B1の場合はESC-(およびESC-$)のあとのコードを問わない。プリンタで印刷するUNIX環境ではネットワークプリンタはCUPSと呼ばれる印刷システムを用いる。設定defaultはだいたいport631。†a2psa2psは普通のテキストファイルをpsファイルに変換するコマンド。これをパイプしてlprすればそのまま印刷できる。デフォルトで印刷先がプリンタになっている場合はそこに出力されるので、自動的に印刷されるときもある。link先にオプションの説明があるので、超便利です。文字コードはEUCを扱う。--columns=1オプションをつければいい。