install IRAF
|
Karasu List
|
Oma List
|
Ali List
|
toPageBottom
|
Back to TibetSiteSurvey Page
|
Back to ToshiSasaki's Page
|
[2019/07/04 by TS]
Access since 2019/07/04 |
UNIX commands |
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 [オプション] スクリプトコマンド 入力ファイル で、指定したファイルをコマンドに従って処理し、標準出力へ出力します。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
awk 詳細 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
「awk」は空白などで区切られたテキストを処理するコマンド。演算機能もあり、プログラミング言語としても使用される。 sedやgrepのようなテキスト処理ツールに演算機能を持たせた拡張ツールとして開発された。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
awkコマンドの書式 awk [オプション] [コマンド] [ファイル……] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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