install IRAF 
  Karasu List 
  Oma List 
  Ali List 
         
 toPageBottom  
 Back to TibetSiteSurvey Page  
 Back to ToshiSasaki's Page  

IRAF related Manuals
IRAF_JapaneseManualForBeginners.pdf An_Introductory_Users_Guide_to
_IRAF_SPP_Programming.pdf
iraf_middleLevel.pdf
IRAF_script.pdf stsdas.pdf
DAOPHOT_CrowdedFieldsPhotometry.pdf daophot2.pdf dao_refman.pdf
DS9_UserManual.pdf DS9_ReferenceManual.pdf Using_ds9.pdf
2012Nakajima_PyRaf_adc2012.pdf 20140311Nakajima_PyIRSF_Manual.pdf Python_tutorial.pdf
FITS の手引き(Ver 7.0a) Akitaya's manual on IRAF

[2019/07/04 by TS]
Access        since 2019/07/04

UNIX commands


   install IRAF  
   Anaconda Install  
   GitHub IRAF install  
   TibetData Analysis  

(注意)bashでは、コマンドライン先頭のコマンド自体が「0番目」の単語である。
Unix commands 詳細
bashの便利なコマンドライン
「!」文字を使った「履歴展開」機能
$ ls /this/is/very/deep/folders
$ cd !* <-- !* :「直前のコマンドの引数部分全体(=コマンド名を除いた部分)」
!n ヒストリーの n 番目のコマンド(nは1以上の整数。ヒストリー番号はhistoryコマンドで確認できる)
!-n ヒストリーで n 個前に実行したコマンド(nは1以上の整数)
!! 直前に実行したコマンド(!-1と同じ)
!str 文字列 str で「始まる」、<最後>に実行したコマンド
!?str? 文字列 str を「含む」、<最後>に実行したコマンド
^str1^str2^ 文字列 str1 を str2 に置換して<直前>のコマンドを再度実行( ! が付かないことに注意)
history ヒストリーの一覧リスト表示
!:1 直前に実行したコマンドの1つ目の単語(最初の引数)
!:n 直前に実行したコマンドの n 個目の単語(nは1以上の整数)
!:n-m 直前に実行したコマンドの n 個目からm個目までの単語(n、mは1以上の整数)
!:$ 直前に実行したコマンドの最後の単語
!:* 直前に実行したコマンドの引数全て(!*と省略することも可能。!:1-$の省略形)
!:n* 直前に実行したコマンドの n 個目から最後までの引数(!:n-$の省略形)
!:n- 直前に実行したコマンドの n 個目から最後の1つ前までの単語(最後の単語は含まない)
ls /temp
cd !*:p      <== :p を最後に付けると履歴展開した結果のみを表示することができ、コマンドは実行されない。
bind -p      <= bashのキー割り当て
bind -pの出力を見やすくするコマンド例
bind -p | awk '{ gsub(/\\C/,"[Ctrl]"); gsub(/\\e/,"[Esc]"); print }' | sort | less
bashの正規表現 :「文字列をパターンで検索すること」
正規表現で使う特殊文字
特殊文字 種類 意味
[ ] 文字クラス 指定された文字(複数可)のどれか1つと一致
[^ ] (否定)文字クラス 指定された文字(複数可)のどれとも同じでない文字と一致
? 繰り返し(量指定子) 0回または1回の繰り返し
* 繰り返し(量指定子) 0回以上の繰り返し
+ 繰り返し(量指定子) 1回以上の繰り返し
{n} 繰り返し(量指定子) n回の繰り返し
{n,} 繰り返し(量指定子) n回以上の繰り返し
{n,m} 繰り返し(量指定子) n回以上、m回以下の繰り返し
| 選択 縦棒の前後の正規表現のどちらかに一致
( ) 優先順位の変更 優先する部分を指定
. ピリオド 任意の1文字に一致
^ アンカリング 行の先頭に一致
$ アンカリング 行の末尾に一致
\ エスケープ 特殊文字の意味を打ち消す
grep 指定されたファイルや標準入力から受け取った文字列に対して正規表現による検索を行うコマンド
$ teststring="cat\tdoc\tcaat\tpanda\tcaet\tbird\tct\tmanda\tcut\tsanda\tkat\tdog cat" (「\t」はタブ(Tab)文字)
$ echo -e ${teststring} | grep -E "[ck]at"
     「1文字目がcまたはk、2文字目がa、3文字目がt」という文字列(が含まれる行)を探す正規表現
   echoの-eオプションは、文字列中のエスケープ記号の解釈を行わせる。
   grepの-Eオプションは、「拡張正規表現(Extended Regure Expression:ERE)」を使うことを強制する
     => GNU grepは、出力にを付けて正規表現が一致したところを教えてくれる。
波括弧「{」「}」による回数の指定
表記 意味
{n} 直前の文字をn回ちょうど繰り返す ca{5}tは、「caaaaat」と一致する
{n,} 直前の文字をn回以上繰り返す ca{3,}tは、「caaat」「caaaat」「caaaaat」……と一致
{n,m} 直前の文字をn回以上、m回以下繰り返す ca{1,4}tは、「cat」「caat」「caaat」「caaaat」に一致
拡張正規表現と基本正規表現の違い
拡張正規 基本正規
[ ] \[ \]
[^ ] \[^ \]
? 対応する量指定子はない
* \*
+ 対応する量指定子はない
{n} \ {n\}
{n,} \{n,\}
{n,m} \{n,m\} 
| 「選択」なし
( ) \( \)
. \.
^ \^
$ \$
\ \
bashの展開機能
bashの展開機能 意味
ブレース展開 ブレース記号によるリストなどの文字列展開
波括弧 “{1..10}”とすれば、スペースで区切られた1~10までの数字に変換される(これをシーケンス式と呼ぶ)。
ブレースの前後に付いた文字列もコピーして展開される。
  cat Test/file{1..3}
     ==> cat Test/file1 Test/file2 Test/file3
“{00..09}”などとすると(数字の前に0を付けると)、00、01、02……というパターンに変換される
チルダ展開 ブレース展開 ブレース記号によるリストなどの文字列展開
ユーザー名、ホームディレクトリ名を表すチルダ記号に関連する展開
   ~/    自身のホームディレクトリ
     他のユーザー(sasaki)なら“~sasaki/abc”などと表記できる。
変数パラメーター展開 変数名を内容に置き換え、同時に簡単な変数内容の加工を行う
   teststring="cat dog"     <== 変数への代入
    コマンドライン中に“${変数名}”で、変数呼び出し
    コマンドライン中の前後の文字列との組合せで間違う可能性がなければ、
      波括弧を省略して“$変数名”と記述できる。
サブコマンド
   “${変数名:4:3}”と記述すると変数の内容の4文字目から3文字を取り出した文字列に変換
算術式展開 数式を計算して結果に置き換える
   (注意)bashが扱う数値は整数 
コマンド置換 コマンドを実行して結果に置き換える
   逆クオート「`」または「$(」と「)」で囲まれた部分は、コマンドとして実行され、その結果に置き換えられる。
プロセス置換 コマンド(プロセス)を実行した結果をファイルとして渡す。あるいはファイル出力をコマンドで加工する
command <(command2)
command <(command2) <(command3)
% diff <(sort /work/test_sort1) <(sort /work/test_sort2)

コマンド > ファイル # 上書き
コマンド >> ファイル # 追記

コマンド 1> ファイル # 標準出力のみをリダイレクト(デフォルト)
コマンド 2> ファイル # 標準エラー出力のみをリダイレクト
コマンド &> ファイル # 標準出力・標準エラー出力を共にリダイレクト

ファイル・ディスクリプター番号   出力先
   0    標準入力
   1    標準出力
   2    標準エラー出力
   n    任意の入出力先

% ls > dirlist 2>&1    標準出力と標準エラー出力を両方ともファイル dirlist に書き込む
% ls 2>&1 > dirlist    標準出力だけがファイル dirlist に書き込まれる。標準エラー出力は標準出力。

パス名展開 限定された正規表現を含むパスを、一致する実在するファイル、ディレクトリへのパスに置き換える

GNOME端末 ショートカットキー変更 [編集]→[Preferences]→[ShortCut]→[編集]→Click items ==>
    コピー Copy: 「Shift+Ctrl+C」→「Ctrl + C」
    貼り付け: 「Shift+Ctrl+V」→「Ctrl + V」
Emacs Commands Copy: ESC+W
Paste: Ctrl+Y
Cut: Ctrl+W
Kill to EOL : Ctrl+K (EOL: End of the Line)
Kill 1 Char: Ctrl+D
Undo: Ctrl+X and U
Jump to BOL: Ctrl+A (BOL: Begin of the Line)
Jump to EOL: Ctrl+E
文字列検索: C-s
検索の終了: C-g
一度入力した文字列を続けて検索: C-s 2回押下
確認付きの文字列の置換: M-% ==> スペースキーか'y'を押せば置換が行われ、'n'を押すと置換は行わず、次の候補に移動します。終了するときには、Enterキーか'q'を入力します。
文字列の置換を確認なしに一括置換: M-x replace-string と置換文字列を入力し、Enterキー押下
[矩形選択]
矩形選択の開始 : C-x SPC
選択した箇所をカット/コピー/ヤンク など : C-w/M-w/C-y
矩形選択した箇所に空行を挿入 : C-o
[複数画面]
別ウィンドウ側にカレントを切り替え: C-x o 
画面の分割(縦) : C-x 2
画面の分割(横) : C-x 3
画面を一つに(今いる画面に): C-x 1
別ウィンドウ側にカレントを切り替え : C-x o
vi ショートカットキー $ vi ファイル名 ...指定して起動
:w ...書込み保存(w: write の意味)
:wq ...書込み後終了
:wq! ...書込み後強制終了
:q ...書込みを行わず終了(quit の意味)
:q!...書込みを行わず強制終了
[開始]
a ...カーソルの右から入力開始(a: Add の意味)
A ...行末から入力開始
i ...カーソルの左から入力開始(i: Insert の意味)
I ...行頭から入力開始
o ...現在の行の下に1行挿入し、その行頭から入力開始
O ...現在の行の上に1行挿入し、その行頭から入力開始
[取り消し]
u ...直前の操作をやめる(u: Undo の意味)
U ...行全体に操作を取りやめる
. ...直前の変更操作の繰り返し
Ctrl-R ...取り消しの取り消し
[行移動]
^ ...現在行の先頭位置へ
$ ...現在行の末端位置へ
G ...最終行の先頭位置へ
- ...前行の先頭位置へ
Enter ...次行の先頭位置へ
:数字 ...指定行へ
$ source ~/.bashrc
$ locale -a
$ env LANG=C man コマンド名
.bashrc の再読み込み
ロケールの一覧表示
envは環境変数を指定してコマンドを起動する
$ printenv
$ printenv 環境変数名
$ echo $FOO
$ export FOO=bar
$ unset FOO
$ free
環境変数の一覧を表示
環境変数の設定値の表示
環境変数の中身を参照 ($ は環境変数であることを示す)
シェル変数 FOO に bar を入れながら環境変数 FOO に設定
環境変数 FOO を削除
メモリー容量の表示
$ nkf 文字コードの変換(iconvより便利)
    nkf -g     文字コード判定
    nkf -w -d    Shift-JIS のWindows OSのテキストコード(改行コードはCR+LF)を UTF-8のLinuxテキストファイル(改行コードはLFのみ)にする
$ tr translate or delete characters
    一方の文字集合に含まれる文字が出現する度に、もう一方の文字集合の同じ位置にある文字に置換して出力する。
短いオプション    長いオプション    意味
   -d    --delete    [文字セット1]に含まれる文字があったら削除する
   -s    --squeeze-repeats   [文字セット1]に含まれる文字が連続していたら1つにまとめる
   -t    --truncate-set1   [文字セット1]を[文字セット2]の長さに切り詰めてから処理を行う
   -c    --complement    [文字セット1]に含まれない文字全て(の補集合)を対象とする

tr A-Z a-z <ファイル1 >ファイル2
     (「ファイル1」の大文字を全て小文字に変換して「ファイル2」に保存する)
tr -d \r としてテキストファイルから「CR」を除去することで、Linux環境用の改行コードに変換できます。
    Windows環境では、改行を「CR」(16進数0D)と「LF」(16進数0A)の2バイト
   Linux環境では「LF」のみ
$ ps
$ jobs
$ kill %(プロセスID)
プロセス一覧表示
ジョブ一覧表示
そのプロセスを強制終了
$ mount デバイス名 デバイスのマウント。マウント先は、通常、/mnt/ に作成されているディレクトリ。
$ df マウントされているデバイス容量を表示する。
$ du [-s] ディレクトリのサイズ表示
    -s: 指定したディレクトリの総容量のみ
$ cp -prf files/directories files/directories のコピー
    -p : --preserve=mode,ownership,timestamps と同様であり、タイムスタンプなどを保存する。
$ touch (file名)
$ touch (既存file名)
$ file (file名)
空のファイルを作成
ファイル更新日時を変更
ファイルの種類を調べる
$ head (file名)
$ head -(行数) (file名)
$ tail (file名)
  $ tail -(行数) (file名)
ファイルの先頭10行を表示
ファイルの先頭指定行数を表示
ファイルの末尾10行を表示
ファイルの末尾指定行数を表示
$ dos2unix -o (file名)
$ unix2dos -o (file名)
改行コード変換
改行コード変換
$ tar -xvf (file.tar)
$ gunzip (file.gz)
$ tar -xvzf (file.tar.gz)
$ tar -cvzf (file.tar.gz) (file_path)
file.tarの解凍
file.gzの解凍
file.tar.gzの解凍
file.tar.gzの作成
# apt install gawk
$ gawk 'BEGIN{print strftime("%Y/%m/%d %H:%M:%S",systime())}'
2019/06/26 17:48:36
$ gawk 'BEGIN{print mktime("2019 06 26 17 49 00")}'
1561538940
$ ls -1 *
$ ls -Xl   [ -Xオプション:ファイルを拡張子ごとにまとめる]
$ ls -m    [ -mオプション:ファイル名をカンマで区切って表示する]
$ ls -d    [ ディレクトリの内容を表示しないで,ディレクトリ名を出力します]
$ ls -g    [ ロングフォーマットで出力しますが,所有者は出力しません]

$ ls -ld  /mnt/diskB/home/sasaki/*
   drwxr-xr-x  8 sasaki sasaki     4096  6月 14 23:16 /mnt/diskB/home/sasaki/0Downloads
   drwxr-xr-x  2 sasaki sasaki     4096  6月 19 15:57 /mnt/diskB/home/sasaki/0Insall_20190119
   ...
      
sed 詳細
   「sed」は「Stream EDitor」の略で、
         sedコマンドの書式
              sed [オプション]
              sed [オプション] スクリプトコマンド 入力ファイル
    で、指定したファイルをコマンドに従って処理し、標準出力へ出力します。
    
sedコマンドの主なオプション
短いオプション 長いオプション 意味
-r --regexp-extended スクリプトで拡張正規表現を使用する
-e スクリプト --expression=スクリプト スクリプト(コマンド)を追加する
-f スクリプトファイル --file=スクリプトファイル 実行するコマンドとしてスクリプトファイルの内容を追加する
-i --in-place ファイルを直接編集する
-i拡張子 --in-place=拡張子 ファイルを直接編集し、指定した拡張子でバックアップする
(※「-i」と「拡張子」の間には空白を入れない)
--follow-symlinks -iで処理する際にシンボリックリンクをたどる
-n --quiet,--silent 出力コマンド以外の出力を行わない
( デフォルトでは処理しなかった行はそのまま出力される)
-l 文字数 --line-length=文字数 lコマンドの出力行を折り返す長さを指定する
(※「-l」と「文字数」の間には空白を入れる)
-s --separate 複数の入力ファイルを一続きのストリームとして扱わずに個別のファイルとして扱う
-u --unbuffered 入力ファイルからデータをごく少量ずつ取り込み、頻繁に出力バッファーをはき出す
-z --null-data NUL文字で行を分割する(通常は改行で分割)
--posix 全てのGNU拡張を無効にする
sedのスクリプトコマンド
コマンド 意味
= 現在の行番号を出力する
a テキスト テキストの追加。指定した位置の後ろに[テキスト]を挿入する (挿入するテキストに改行を含める場合は、改行の前にバックスラッシュを置く)
i テキスト テキストの挿入。指定した位置の後ろに[テキスト]を挿入する (挿入するテキストに改行を含める場合は、改行の前にバックスラッシュを置く)
c テキスト 選択した行を[テキスト]で置換する(挿入するテキストに改行を含める場合は、 改行の前にバックスラッシュを置く)
q これ以上入力を処理せずに終了する(未出力分があれば、出力してから終了する)
Q これ以上入力も出力もせずに終了する
d 指定した行を削除する
p
  $ sed -n s/GNU/gnu/p ファイル名
  $ cat ファイル名 | sed -n s/GNU/gnu/p
	  
処理した内容を出力する(「-n」オプション指定時は「p」コマンドがないと何も出力されなくなる)
(「GNU」を「gnu」に置換後、 置き換えた行だけ を出力する)
(「GNU」を「gnu」に置換後、 置き換えた行だけ を出力する)
s/置換前/置換後/ [置換前]で指定した文字列にマッチした部分を[置換後]に置き換える。 複数マッチした場合は先頭のみ置換、全てを置換したい場合は、「s/置換前/置換後/g」のように「g」オプションを指定する
y/元の文字列/対象文字列/
  $ cat ファイル名 | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
[元の文字列]にあるものを、対象文字列の同じ位置にある文字に置換する(「tr」コマンドのように使用できる) ( <== 1文字ずつ置き換えする )
(大文字を小文字に置換する)
# コメント(スクリプト中、「#」以降がコメントとなる)
awk 詳細
「awk」は空白などで区切られたテキストを処理するコマンド。演算機能もあり、プログラミング言語としても使用される。 sedやgrepのようなテキスト処理ツールに演算機能を持たせた拡張ツールとして開発された。
awkコマンドの書式
   awk [オプション] [コマンド] [ファイル……]
awkの主なオプション
短いオプション 意味
-f ファイル名 awkスクリプトが書かれたファイルを指定する
-F 区切り文字 区切り文字を指定する(デフォルトは空白文字)
-v 変数名=値 変数を定義する
awkで使用できる主な組み込み変数
変数名 意味
ARGC 引数の個数
ARGV 引数(配列)
ENVIRON 環境変数を収めた連想配列。例えば環境変数LANGならばENVIRON["LANG"]と参照できる
FILENAME 現在処理しているファイルの名前
FNR 現在処理しているファイルのレコード番号(処理しているファイルが1つの場合はNRと同じ値になる)
FS フィールドの区切り文字(-Fオプションで変更可能、デフォルトはスペース)
NR 現在処理しているレコード番号(行番号)
OFS 出力時のフィールドの区切り(デフォルトは空白)
ORS 出力時のレコードの区切り(デフォルトは改行)
RS レコードの区切り(デフォルトは改行)
awk 基本正規表現
記号 意味 使用例
^ 行頭 ^abc:abcから始まる行
$ 行末 abc$:abcで終わる行
-< 語頭 -
-> 語尾 abc->:abcで終わる単語
. 改行以外の任意の文字 --
-w アルファベットと数字 --
-W アルファベットと数字以外 --
[...] 囲まれている文字のどれか [abc]:abcのどれか
[^...] 囲まれている文字でない文字 [^abc]:abc以外
[n-n] 指定範囲のどれかの文字 [a-c]:abcのどれか
awk 拡張正規表現
記号 意味 使用例
* 直前文字の0回以上の繰り返し --
+ 直前文字の1回以上の繰り返し --
{n} 直前文字のn回の繰り返し [0-9]{3}:3桁の数字
{n,} 直前文字のn回以上の繰り返し [0-9]{3,}:3桁以上の数字
{,m} 直前文字のm回以下の繰り返し [0-9]{,5}:5桁以下の数字
{n,m} 直前文字のn回からm回の繰り返し [0-9]{3,5}:3桁から5桁の数字
| または txt|doc:txtまたはdoc
() ()内をひとまとまりとする (abc){2}:abcabc
awkの基本的な使い方
  「awk 'パターン {アクション}' ファイル名」
      テキストファイルを1行ずつ読み、パターンに合致した行に対して、アクションで指定された内容を実行します。
ls -l | awk '{ print $9,$10,$11 }' (lsコマンドの出力のうち、9~11番目のフィールドを表示する)
ls -l | awk 'NR>1 { print $9,$10,$11 }' (NR(行番号)が1より大きいという条件を加える)



















  install IRAF 
  Karasu List 
  Oma List 
  Ali List 
  toPageTop  
     
 Back to TibetSiteSurvey Page  
 toToshi  
 Back to SasakiFamily's Page  




Toshi Sasaki's HOME Page on sasakihome.info
Last Modified: (JST)
toshi.sasaki@nao.ac.jp