技術ページ

Linux機やプログラムに関する備忘録

※なお、このページに書かれている内容を実行したことで生じる如何なる損害について、後藤は一切責任を負いません。参考にして頂いて構いませんが、実行は自己責任でお願いします。
※ To 俺 → 間違いがあるかもしれないから適宜確認すること。あと、スペースの有無に注意すること。

Terminal上(主にコマンドについて)

・convertでps(eps)ファイルをgifに変換するとき(背景が透明になるのを防ぐ)
$ convert -rotate 90 *.ps(*.eps) -background white -flatten -alpha off *.gif

・convertでgif(png)を作ったが、何か画像が変なとき(画質が悪いとき, convertではない変換コマンド), (追記)convertで"-density 300"などにすれば良い。
$ ps2raster *.ps(*.eps) -P -Tg -A
※-Pは画像を90度回転、-Tgは.png出力(このオプションを付けなかったらjpeg出力になる)、-Aは余白を切り取るオプション

・localからsshを用いて別の計算機にファイルをコピーするとき(例は*.txtを**という計算機の/home/test/に送る, localで実行)
$ scp ./*.txt **:/home/test/

・ssh先で作ったファイルをlocalにコピーするとき(例は**という計算機の***というアカウントの/home/test/にある*.txtをlocal計算機の/home/****/に送る, localで実行)
$ scp ***@**:/home/test/*.txt /home/****/
※ディレクトリごとコピーするときは、scp -r ***@・・・という風に、-rオプションを付ける。

・test.gsの内容をGrADSに読み込ませるとき(test.gs内のコマンド?は' 'で囲む)
$ grads -lbc test.gs

・ファイルorディレクトリの権限を設定する(chmodコマンド, 今回はtest.cshというファイルに対する)
$ chmod [所有者権限][グループ権限][その他のユーザーの権限] test.csh
※権限の範囲は0から7であり、読み込み権限は4、書き込み権限は2、実行権限は1であり、複数の権限を許可する場合は和で表現する。
※0は権限なし
※1は実行できる
※2は書き込みできる
※3は書き込み & 実行できる
※4は読み込みできる
※5は読み込み & 実行できる
※6は読み込み & 書き込みできる
※7は読み込み & 書き込み & 実行できる

・ディレクトリ内にファイルが入っているときに、そのディレクトリを削除したいとき(今回はtest/というディレクトリを消す例)
$ rm -r test/
※ディレクトリ内が空の場合は、rmdirコマンドを使う(-rオプションは必要ない)。

・文字コードを確認するとき(今回はtest.htmlの文字コードを確認する例)
$ nkf -g test.html

・文字コードを変換するとき(今回はtest.htmlの文字コードを変換する例)
$ nkf -e --overwrite test.html (EUC-JPへ変換する)
$ nkf -s --overwrite test.html (Shift-JISへ変換する)
$ nkf -w --overwrite test.html (UTF-8へ変換する)

GrADS

・GrADSを*.gsに書いているコマンドで動かすときは、*.gsの中身は一行ごとに' 'で囲む(↓例)
ga> 'open *.ctl'

・初期化する
ga> reinit

・図の位置を指定する
ga> set parea xmin xmax ymin ymax
※xmin~ymaxまでは、それぞれの座標の数字を入力する。

・文字を入力する際に、文字の大きさを指定する。
ga> set strsiz [数字]
※[数字]を0.1ぐらいにすると、凡例で使えそうなぐらいの大きさの文字になる(1とかにすると、かなりデカい)。

・文字を入力する(座標を指定して, 今回は***という文字を入れる例)
ga> draw string x y ***
※xとyにそれぞれ座標の数字を入力する(左下が始点)。

・欠損の範囲の値の部分の色を指定する(この例では灰色系?に塗りつぶしている, 他の部分もset gxout grfillで塗りつぶしている前提)
ga> set ccolor 15 (※この15が灰色系?の色に指定している)
ga> d maskout(a,-(a+999))
※*.ctlのUNDEFが-999であった場合

・図ではなく、バイナリデータとして出力する(浮動小数点の数値が入力される)。
ga> set lev 2
ga> set fwrite test.dat (この行を実行しなければ、grads.fwrite(バイナリ)というファイル名で出力される)
ga> set gxout fwrite
ga> d a
※openしている*.ctlのlev 2(z方向のデータで2番目)のデータを出力ファイル名test.datで書き出している(変数はaのデータ)。       
※fwriteを使う俺的想定としては、使いたいバイナリファイルについて、z方向に複数のデータが入っており、かつ変数(VARS)も複数ある場合に、GrADSではない他の描画ソフト(例えばGMT)などで絵を描きたいときに使う(他にもっと良いやり方があるかもしれないが)。
※この方法を使うと、今回の場合なら変数aのlev 2のデータのみがtest.datに出力されることになり、GMTで図を描けるようになる(xyz2grd test.dat -G・・・)。      
※この操作後、ga> quitでGrADSを終了し、lsコマンドで確認すると、test.datができている。

・線や塗り潰しの色を変更する。
ga> set ccolor [色番号]
※0;黒 1;白 2;赤 3;緑 4;青 5;シアン 6;マゼンダ 7;黄 8;オレンジ 9;紫 10;黄緑 11;medium blue 12;dark yellow 13;水色 14;dark purple 15;灰色

・コントロールファイルの情報を表示する。
ga> q ctlinfo

GMT

・GMTで図を描くときのカラーパレットファイル(*.cpt)の最後の3行のB, F, Nについて(↓例)
B 0 0 0
F 255 255 255
N 128 128 128         
※Bはカラーパレットの範囲より小さい値の部分に使う色       
 Fはカラーパレットの範囲より大きい値の部分に使う色
 Nは*.grdに値が入っていない部分に使う色
※カラーパレットとは関係ないが、レーダー図などの塗りつぶしをするときは、pscoastで-Sオプション(海の塗りつぶし, 例えば-S235)を付けないこと(海を塗りつぶすと、海上のレーダーエコーが消える)。

・用紙サイズを決める(この例ではa4サイズにしている)。
$ xyz2grd ・・・
$ gmtset PAPER_MEDIA a4
$ grdimage ・・・         
※GMTで図を描くときは、まずxyz2grdコマンド、次にgrdimageコマンドを実行する(はずだ)が、図や凡例が途切れてしまうことがあったので、その場合はxyz2grdコマンドとgrdimageコマンドの間にgmtsetコマンドを挟んでおくと、図や凡例が途切れずに済んだ。

gnuplot

・グラフを作成するとき、*.txtに書かれているデータを用いて凡例を描き、グラフの種類を指定し、グラフの色を変える方法
gnuplot> plot '*.txt'using 1:2 title'AAA'with lines linecolor "red",'*.txt'using 1:3 title'BBB'with points linecolor "blue"
※*.txtの1行目(x座標)と2行目(y座標)のデータを用いて、凡例タイトルAAA、グラフは線で結び、線の色は赤色
 *.txtの1行目(x座標)と3行目(y座標)のデータを用いて、凡例タイトルBBB、グラフは点々、点々の色は青色
 というグラフを重ねて描いている。
※グラフの種類がpointsであっても、色を指定するときはlinecolorで設定する。

・カラーで出力する(今回は、fig.epsを出力する)。
gnuplot> set output "fig.eps"
gnuplot> set term postscript eps enhanced color
gnuplot> replot         

C言語

準備中

Cシェル

準備中



トップページに戻る
Return to Laboratory Homepage
Return to Laboratory Members Page
E-mail: ygoto(at)rain.isee.nagoya-u.ac.jp
©2021 Yusuke Goto. All Rights Reserved.