LoginSignup
0
1

Viコマンド(UNIX)

Last updated at Posted at 2020-02-07

今回テラタームで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キーで補完もできる。こっちがオススメ。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1