データベースエンジニアのLinux作業。viの最低限コマンドあるいはviを使わない方法

データベースエンジニア

データベース管理システムはLinuxサーバに導入する事が多いので、サーバ内のデータベース設定ファイルやネットワーク関連の設定ファイルを修正する事があります。
多くの場合viエディターというLinuxの標準アプリで修正します。

このviが直観的に使用できるものではなく、初心者には非常に使いづらいのです。
この記事ではviを使わずにLinuxの設定ファイルを修正する方法とviを使うことになった場合、最低限の知識でファイル修正する方法をお話します。

この記事では使いづらいviを使わずにLinuxの設定ファイルを修正する方法とviを使うことになった場合、最低限の知識でファイル修正する方法をお話します。

vi作業を避けるべき理由

可能であれば、viの作業は避けてください。
Linuxの設定ファイルは多くの場合テキストファイルなので、エディターで修正します。エディターは文字を修正するアプリでWindowsで言えば「メモ帳」「秀丸」「サクラエディタ」などです。

特に「vi」はLinuxの標準アプリなのでLinux上の「メモ帳」と考えるのがよいでしょう。
viを避ける理由として初心者には使いづらい事が挙げられます。

Windowsのメモ帳はマウスやキーボードで何となく使えます。Windowsのお作法に従って左上のX印を押して終了できます。その際、保存するか否かも聞いてくれます。

viは、はっきり言って初見でまともに使える事は絶対ありません。

以下詳しく見ていきましょう。

vi作業はさけるべき理由1.使いづらい メモ帳とviの違い

viは「メモ帳」と同じOSの標準アプリという話をしました。
しかし操作感が全く違います。

「メモ帳」はカーソル移動モードと文字入力モード区別していません。修正する文字の場所まで、カーソルをマウスで動かし、微調整をカーソルキー(矢印キー)で行い、削除をBSキーや削除キーを使って行い、正しい文字列を追記します。上書きモードと挿入モードはキーボードの「インサートキー」で切り替えます。

「vi」はカーソル移動などを行うコマンドモードと文字入力モードの区別があり、常にモードを意識する必要があります。

基本マウスが使えないので、修正箇所までカーソルをカーソルキーで動かします。ただし、文末へのショートキーやカーソルジャンプのviコマンドが数多くあり、キーボードから手を離さずに操作できるため、慣れている人であればカーソル移動と文字入力がシームレスに行う事ができるので作業が早いです。

しかし慣れていない人(初心者)は、コマンドモードで文字入力をおこなったり、文字入力モードでコマンドキーを入力してしまいます。そして予想外の結果になってしまった場合、強制終了すらできないのです。

vi作業避ける代替作業

前述のようにviはコマンドを熟知していないと非常に使いづらいので、viを使わないですます方法を紹介します。
Linux上の設定ファイルを修正することが目的であれば、手段はいろいろあってかまわないのです。

vi代替方法その1

ファイル転送を行いWindowsクライアントで修正してしまう方法です。
この方法は自分の作業PC等のインストールが許されているPCで行いましょう。
まず、Windowsのファイル転送アプリをあらかじめインストールしておきます。
おすすめは、WinSCPです。FFFTPも人気がありますが、接続プロトコルが限られていますし、2017年に開発終了しているので今後のバージョンアップが期待できません。

WinSCPでLinuxサーバに接続しますが、通常はSCPモードを選ぶのが良いいでしょう。
ファイルを選んで開いてください。よく修正対象になるのは/etc/hostsあたりでしょうか。
ファイルを開くとWinSCPかWindows上のエディターが開くのでマウスも使えるしWindows上のコピペもできます。
直し終わったら、上書きで終了してください。そうするとLinux側のファイルに上書きするために権限のあるLinxユーザとパスワードの再入力が要求されるので入力してください。
これで終わりです。

この方法は操作が非常に簡単なのですが、ファイル転送アプリが導入されている必要があります。
つまり客先のWindowsサーバ(普通WinSCPはありません)からLinuxサーバにログインする場合使えません。

vi代替方法その2

Windowsクライアントを使用するのは同じですが、ターミナルソフトでログインし、viで修正対象ファイルを開いての対象行をコピーします。次にWindows上のメモ帳等でで修正してから、修正した行をコピーしvi上で挿入します。

この時、エスケープキーを押してからコマンド「i」を入れて文字入力モードにしてから修正行を貼り付けます。これで新しく修正した行を挿入する事ができました。

次に元の行を削除します。それには削除したい行の上にカーソルを置き、エスケープキー次にコマンド「dd」を入れます。これで旧該当行が削除されます。

最後にコマンド「wq」でセーブ終了しておしまいです。

この方法の利点は、転送ソフトが必要ない点です。viのコマンドは3つ程覚える必要がありますが、非常に活用できる場面が多いと思います。

vi作業の最低限知識

それでもviを使わざるを得ない場合もあります。サーバールームでの作業でLinuxサーバに直接ログインする場合、Windowsクライアントからアクセスできません。このため多くの作業をWindows上で行う作戦は実施不可能です。
このため、本章では設定ファイル変更に必要最低限の5コマンドをお教えします。これだけ覚えれば、viのみで設定ファイル修正ができます。

ファイルオープン

Linuxのコマンドプロンプトから

[vi ファイル名] と入力しましょう。([ ] は入力不要)
viでファイルを壊してしまう可能性があるので、作業前にLinuxのコピーコマンドでファイルのバックアップを作成するようにしてください。

モード切替

エスケープキーを押すとコマンドモードに切り替わります。現在のモードがわからなければ、エスケープキーを押してください。モードが分からなくなったらエスケープ連打です。

そうするとコマンドモードになるので文字を入れたい場所にカーソルを動かし、文字インサートコマンドの「i」を押して入力を開始してください。

カーソル移動

基本的にカーソルキーでOKです。ただし、改行していない長い行の2行目(折り返し行)には下矢印では行けません。下矢印は次の行に行くためのキーなので、折り返し行は見た目が次の行でも同じ行なので、延々と右矢印を押すことで到達する事ができます。

文字削除

文字入力中バックスペースキーや削除キーで文字を削除する事ができる場合もありますが、環境によっては動作しない場合もあります。
viの文字削除はコマンド「x」で行います。
エスケープを押してコマンドモードになり削除文字までカーソルを動かします。削除コマンド「x」を使って削除していきます。

vi終了とファイル保存

コマンド入力モードで「wq」を入力します。「Write Quit」の略なので覚えやすいと思います。

まとめ

viはコマンドを知らないと意図した修正が行えず、ファイルを壊すことになりかねません。
Windowsクライアントを上手につかって、viを使う事を回避しましょう。
最悪、viを使うことになった場合は上記、5つのポイントで乗り切りましょう。

タイトルとURLをコピーしました