Linuxサーバーエンジニアになるならコマンドよりも先にVim

塾長の名刺には、あるキャチコピーを書いています。

名刺交換をすると必ず「どういうことですか?」と聞かれるんですね。

何と書いているのかと言いますと、このように書いています。

空飛ぶサーバーエンジニア

塾長は飛行機に乗ることが多く、移動中は空白の時間。サーバーに何かあっても空からは何もできないどころか、それを知る由もない。

しかし最近は飛行機の中でもWi-Fiを使うことができる。

必要とあらば雲の上からでもサーバーの仕事をすることから、空飛ぶサーバーエンジニアという代名詞を使っているわけです。

では雲の上から、どのようにサーバーにログインして仕事をしているのか紹介します。

飛行機の中からリモートログイン

これは、Prompt 2 - Panic, Inc.というiOSアプリを利用して、地上のデータセンターに設置しているサーバーにログインした時の画面をキャプチャーしたものです。

つまり、こういうことです。

iPhoneからサーバーにログインしてサーバーの設定を変更することだってできる。

サーバーの設定はどうやるの?

ここで考えて欲しいのが、この画面からどうやってサーバーの設定を変更するのかということ。

例えばMacやWindowsでメールの送受信の設定をしようと思ったら、メールソフトを起動して設定画面を開いて設定します。でも、

Linuxサーバーは、ファイルを編集して設定。

 

Linuxにはサービス毎に設定ファイルが存在する。何か動きに変更を加えたい時は、該当するファイルを編集して制御すればいいわけです。

設定ファイル

例えばWebサーバーとしてApacheを使っているのであれば、httpd.confという設定ファイルを編集することで設定を変更することができます。

一般的にLinuxで使われているサーバーやアプリケーションと設定ファイルを表にするとこんな感じ。

サーバー / アプリケーション名 設定ファイル
Apache httpd.conf
MySQL or MariaDB my.cnf
PostgreSQL pg_hba.conf
PHP php.ini / php-fpm.conf
Nginx nginx.conf

ファイルの設置場所はLinuxのディストリビューションやインストール方法によって異なるが、このようなファイル名で制御されていることを覚えておくとLinuxサーバーを扱う際に役に立つ。

 

iPhoneを介してLinuxと会話

もう一度iPhoneのキャプチャー画像を見て欲しい。

これは、飛行機の中からLinuxサーバーにログインしてiPhoneの画面に表示されているものです。

 

Linuxの流儀に従う

ディスプレイとキーボードこそiPhoneの機能ではありますが、Linuxのコマンドを打てば要求に対する結果を返してくれることから、画面の向こうで応答しているのは紛れもなくLinuxサーバー。

テキストの編集もiOSやiPad OSのようにカーソル位置をタップして移動することはできません。

だから操作はLinuxの流儀に従うしか他にないのです。これはiPhoneだからというわけではなく、MacやWndowsからログインしても同じことです。

テキストファイルはVimで編集

前置きが長くなりましたが、Linuxでテキストを編集すると言ったらvi。最近はvi(ヴィーアイ)から進化したVim(ヴィム)と言う人が多くなっていますが、塾長はviと言っています。

Windowsの標準テキストエディタである「メモ帳」と同じ位置付け。

ファイルを編集するときは、以下のように「vi スペース ファイル名」と入力します。

vi ファイル名

viはメモ帳と同じ位置付けと書きましたが、マニュアルを読まずして使うことのできる人はまずいないでしょう。

viはすごくクセのあるテキストエディタですが、キーボードにカーソルキー(矢印キー)が無くてもカーソルの移動ができますし、マウスが無くても大丈夫。

 

Linuxのコマンドを覚えることも重要、それと同様にVimに慣れることも重要なんです。

 

Vimの基本知識

通常テキストファイルを編集するのにエディタに必要な要素、機能を意識することはありません。

マウスで文字を入力したい場所にカーソルを合わせ、文字の入力をキーボードで行うということを特に意識することなく行っています。

デバイスによる機能切り分け

上の例では、マウスはカーソル移動に使われ、キーボードは文字入力として使われていますよね。

  • キーボード:文字入力
  • マウス:カーソル移動

他にもエディタには文字の検索や置換、文字のコピーに貼り付けや保存といった機能をツールバーやショートカットキーから呼び出すことができます。

Vimはキーボードだけで操作

vi(Vim)が他のエディタと違うのは、キーボードのみでエディタが有する機能を使えるところ。なので、スイッチによって以下のモードに切り替えます。

  • コマンドモード(ノーマルモード)
  • インサートモード

モードの切り替え

スイッチは複数あります。
でもここでは、

<iキー>と<ESCキー>だけを覚えてください。

 

  • i  : インサートモード
  • ESC : コマンドモード(ノーマルモード)

例えば、

vi test.txt

とコマンドを打って新規にファイルを作成、またはtest.txtが存在すれば編集となります。

viでファイルを開いた直後はコマンドモードです。

文字を入力するとき

iキーを押してインサートモードに切り替えると、カーソルの位置から文字を入力。

i カーソルの現在の位置から文字を入力

 

カーソルを移動するとき

カーソルを移動するときは、h j k l キーを使って移動

h 左方向に移動
j 下方向に移動
k 上方向に移動
l 右方向に移動

 

文字を削除するとき

ESCキーを押してコマンドモードに切り替え、xキーでカーソル位置の文字を削除

x 現在のカーソル位置から1文字を削除
dw 現在のカーソル位置から1単語を削除
dd 現在のカーソルが置かれている行を削除

 

編集を終了するとき

ESCキーを押しコマンドモードにして、:wq と入力してRETURNキーを押すと保存して終了。

:wq ファイルの変更を保存して終了
:q! ファイルに変更を保存せずに終了

 

MacやWindowsでVimを使う方法

読んでいるだけではつまらないですよね。VimはMacでも標準で使えるようになっていますし、Windows版もダウンロードすることで使うことができるようです。

MacでVim

Macではターミナル(アプリ)を起動して、

vi test.txt

と入力すれば使うことができます。

WindowsでVim

Windows版のVimは「窓の杜」からダウンロードすることができます。

 

Vimのまとめ

viに慣れるには少し時間がかかるかもしれません。でもviを使えることはLinuxを扱う上では外せないスキルなんです。

まだviを使ったことがない、あるいは上手く使うことができないのであれば、この記事に書かれていることから始めてください。

Linuxを独学していたけどviの使い方が理解できなくて断念した。

という人もいますが、viはモードを切り替えて使うということ、そして、その操作に慣れることができればこんな素晴らしいエディタは他にないですよ。

Linuxサーバーのエンジニアを目指すなら、この機会にviの基本操作に慣れておきましょう。

関連記事

  1. Vimに慣れるならVimtutor

  2. 初心者でもLinuxをすぐに触れる方法