今回テラタームでviを扱ったのでメモ
Viとは
viは、UNIXに標準で備わっているテキストエディタである。多少とっつき にくい面があるが、慣れると高速で編集作業ができるようになる。
テキストを操作するにはviコマンドを用いる。
似たものにvimがあるがこれはviの派生系でより高機能。コマンドはほとんど同じである。
UNIXとは
UnixはOSの一種で、現存する中でもっとも古いOSのひとつ。古いだけあって、色々なOSの土台になったOS。特徴としては安全性が高く、また余計な機能が少ないので軽いことがあげられる。Linuxと似ている。どちらも基本黒いコマンド画面で操作する。
UNIXコマンドとLinuxコマンドはほとんど同じである。
コマンドモードの操作について
起動時はコピペ・検索が可能なコマンドモードになっている。
個人的によく使うコマンドは、
「cd パス」でディレクトリ移動し、
「ls」でディレクトリ内ファイル全表示。(ls -l(=ll)でさらに詳細に表示)
「cat ファイル名」で中身を見たりできる。
「mkdir ディレクトリ名」でディレクトリ作成
「touch ファイル名」で新規ファイル作成
「cd ~」最上部のディレクトリに移動
「cd ..」1つ上のディレクトリに移動
「cd」home/ユーザに移動
編集時は
escでコマンドモードにしてして以下のコマンドを使用。
a:カーソル右に文字挿入モード
i:カーソル左に文字挿入モード
x:カーソル上の文字削除
o:現在行下に行追加し、文字挿入モード
O(大文字):現在行上に行追加し、文字挿入モード
dd:現在行削除(実態は切り取り)
u:直前の操作をやめる(1回だけ、複数回できる時もあるが?)
:set nu:(一時的に)行番号表示
:set nonu:行番号非表示
G:最下行へ移動
数字 + G:数字行へ移動
hjkl:←↓↑→(移動)
yy:現在行コピー
p:ペースト
/文字 :検索
n :検索の繰り返し
r:カーソルの一文字のみ置き換え(入力直後の1文字のみ)
文字挿入モード等各コマンドの状態から抜け出すにもescを多用する。
コピーはマウスカーソルで指定範囲選択するだけ(ctrl+Cは必要ない)。
ペーストは右クリック。
ctrl+Cは処理を止める時に使う。パスワード入力モードの取消しにも使える。
※「mkdir」はmake directoryの略
Linuxコマンドはここによくまとめられており、
初学者にもわかりやすい → 参照
Vi(入力モード)の操作について
Viでファイルの中身を直接編集可能となる
「vi ファイル名」で入力しエンターを押すと入力モードとなり、ファイルが開く。
vi /usr/local/WEB-INF/jsp/AAA.txt
「i」を押下すればファイル内容を編集できる。
入力モード(i)の確認方法は画面下部に「-----INSERT-----」と表示される。
ESCを押すとコマンドモードとなり編集不可に戻る。
Viを抜け出すには、
「:wq」上書き保存し終了
「:q!」保存せず終了
のどちらかを入力するといい。
「ZZ」(大文字)でもViを終了でき、
「ZZ」は内容が編集されていれば保存してくれる。
※「cat ファイル」でもファイルの中身を確認できるが、編集はできない。
※「Vi 新規ファイル」で新規ファイルを作ると同時に編集もできる。
cpでファイルを置き換える
「cp コピー元ファイルA コピー先ファイルB」でAの内容をBへ上書きする。
cp /usr/aa/A.properties /usr/bb/B.properties
ファイルごとのコピペは「cp コピー元ファイルA コピー先ディレクトリ」でAのファイルをBへコピーする。
コピーしてリネーム作成は「cp コピー元ファイルA コピー先新規ファイル名」。
cdでディレクトリを移動し直接上書きも可能。
bb配下へ移動し
B.propertiesにA.nondebugの内容を上書き。
つまり、現在地からのパスを記載してあげればいい。
cd /usr/bb
cp /aa/A.nondebug B.properties
詳しくはこちら → 参照:Viリファレンス
メモ
|(パイプ):右の結果を左に渡して実行する。
lsの結果対してwcを実行。
ls | wc
> 出力先 :出力のリダイレクト。出力先を指定できる。
catの内容をlogへ出力。
ファイル全体が上書きされるので、追記するなら「>>」とする。
エラー内容だけ出力するなら「2>」にする。追記なら「2>>」。
cat textA > log
「<」なら入力のリダイレクト。入力先を指定できる。
AIXメモ
AIXはkshなのでbashのように↑↓矢印キーでコマンド履歴を表示できない。
escキー押下後に、k(↑)、j(↓)キーで操作可能。
参考
bash --login
すれば、↑↓も使用できるし、TABキーで補完もできる。こっちがオススメ。