基本コマンドの紹介とその演習③|MacやLinuxのCUIを使いこなそう! #3
#1、#2では諸々の経緯と基本コマンドについてまとめました。
#3では、#1で取り扱ったviについて詳しく見ていければと思います。
以下目次になります。
1. #1、#2の復習
2. viについて
3. まとめ
1. #1、#2の復習
#1ではpwd、ls、cd、mkdir、touch、rm、viについて、#2ではcat、grep、>、<、|、psについて取り扱いました。これらは基本コマンドで非常によく用いるので、何度も使いながら覚えていくのが良いと思います。それぞれ軽く取りまとめます。
pwd: カレントディレクトリの位置について把握することができる。
ls: カレントディレクトリのファイルリストについて把握できる。パスを指定すればカレントディレクトリ以外のパスも取得できる。
cd: ディレクトリの移動ができる。
mkdir: ディレクトリの作成ができる。
touch: ファイルの作成ができる。
rm: ファイルの消去ができる。
vi: ファイルの編集ができる。(結構覚えることが多いので詳細は#3で扱おうと思います)
cat: ファイルの中身を取得することができる。
grep: 検索を行うことができる。パイプラインと組み合わせると便利。
>: ファイルの作成やファイルの記入を行う。
<: ファイルからの読み込みを行う。DBの復元の際などに用いる
| : コマンドの出力結果を別のコマンドに渡す。
ps: 実行中のプロセスを確認する。
上記が簡単な復習になります。2.では今回取り扱う内容として、viについて取り扱おうと思います。
2. viについて
あまり言葉についてしっかり把握していなかったので、上記のWikipediaを参照したところviはUNIX環境(LinuxやMacOSはUNIXをベースとして構築されている)で人気のあるエディタとされています。基本的にMacやLinuxに標準で入っており、上位互換であるvimと呼ばれたりもします。この辺の細かい違いは初心者向けの記事ですしそこまで気にせず、何が便利かにフォーカスして話していきます。
個人的にはエディタはAtomかSublimeをメインで用いることが多く、周りに聞いても色々と人によって好みが違うところな気がします。人によってはこの辺のエディタ周りの話は宗教論争になってしまうのですが、初心者はそこそこ軽くて多機能なエディタをメインに選ぶのが良いかと思います。
ですが、メインでviを使わないにしてもやはりviは抑えておくのが良いです。以下に理由をまとめます。
・普段使わないフォルダのファイルを編集する際に便利(入門)
・ただファイルが見れれば良いや一行単位の編集などエディタを開く手間の方を減らしたい際などに便利(初級)
・普段と違うPCでの作業が必要で、いちいちエディタを入れている時間が勿体無い(初級〜中級)
・コマンド実行とファイル編集をシームレスにしたい(中級)
・設定ファイルなどを頻繁にいじりたい(中級)
とにかく標準装備されていて、どのPCでもファイルに素早くアクセスできるというのがviの良さです。作業を同時並行などすると、このようなファイルへのアクセスの良さという単純な話でも大きな作業効率改善につながることがあります。
さて、viの利点について理解したところで基本的な実際に使い方を抑えていきましょう。まず、基本的な考え方として、viにはファイルの閲覧モードと編集モードがあり、それらによって使うコマンドが違います。まずは閲覧モードについて見ていきたいと思います。
・ファイルを開く(通常 -> 閲覧モード)
$ vi file1.txt
を打つとファイルを開くことができます。「file1.txt」についてはその名前のファイルが存在すればそのファイルを開き、存在しない場合は新しくファイルを生成します。viでファイルを1から作るのは大変なので、基本的には存在するファイルを閲覧することが多いかと思います。(ちょっとだけ確認したい際はviを使用してファイルを閲覧するのが一番速い気がします)
・ファイルを閉じる(閲覧モード -> 通常)
「:q」を打つことによりファイルを閉じることができます。基本的には「:q」を用いると良いのですが、ファイル編集後に閉じる際は「:q!」や「:wq」を用います。それぞれ、「:q!」はファイルの変更を破棄したい場合、「:wq」はファイルの変更を保存したい場合に用います。他にも色々なコマンドの組み合わせがありますが、基本的には取り上げた3つを抑えておくで十分です。
・ファイルを編集する(閲覧モード -> 編集モード)
viでは閲覧モードから編集モードに切り替えなければ編集を行うことができません。面倒なようにも感じますが、たまにしか開かないファイルを適当に編集してしまう方が良くないと思うので、そういう意味考えると良いことなのではないかと思います。
さて、閲覧から編集に変える際にはどうすれば良いかですが、閲覧モードで「i」を入力するというのが最も多く用いるのではないかと思います。これによって編集モードに変更することができます。ある程度慣れたら行の最初からの場合は「I」、行の後ろからの場合は「A」なども覚えておくとこちらも便利だと思います。こうすることで、実際にファイルを編集することができます。
・編集を終了する(編集モード -> 閲覧モード)
編集を終了するにあたってはescコマンドを打ちます。大体のキーボードだと左上だと思います。これをすることによって閲覧モードに移ります。
ファイルを閉じるところでも説明しましたが、編集を行なった際はファイルを閉じる際には保存して終了か保存せずに終了かを選ぶ必要があります。そのため、「:wq」か「:q!」のどちらかを用います。
上記が基本的なviの使い方です。他にも色々とありますが、色々と知るよりも基本的な使い方に慣れて使いこなす方が大事なので、このくらいにしたいと思います。
慣れてきてもう少し知りたい方は色々と調べれば詳細を記述したものが引っかかると思いますので、調べていただければと思います。(導入に余計だと感じた情報は省略しました。)
3. まとめ
今回のviはちょっとした時に使えるか使えないかで作業効率に差が出るので、なるべく抑えておく方が良いと思います。
メインというよりはサブエディタとしてちょっとしたファイル操作を行いたい際などに大きな助けになってくれるので使いこなせるまで意識して使ってみるのが良いかと思います。