less/vi の使い分け ~Linux editor/pager メモリを意識して使い分ける~

tech

Linux でテキストファイルやログファイルを参照する際にどのツールを使うのが良いでしょうか? 更新ではなく参照においてですが、私のおすすめは…

結論

大きいサイズのテキストファイルを参照する際には less がおすすめ!
vi, vim, view で大きいファイルを開くのはやめましょう!

理由

起動時のメモリ消費量が異なるためです。less はメモリ効率が良いページャーで必要分のデータのみメモリにロードします。一方テキストエディターである vi, vim, view はファイルを開いた際に全てのファイル内容をメモリにロードします。3GBのファイルを vi 系で開くと3GBのメモリを消費してしまいます。空きメモリが少ないサーバーで大きなファイルを vi などで開くとメモリスワップが発生してスローダウンして本番事故につながることがあります。常にファイルサイズを気にしてツールを選ぶよりもテキストファイルの参照ならば less とするのが事故を減らせます。

less おすすめ操作方法/コマンド

less のおおすすめの操作方法をまとめます。
window, linux, chromeos は ctrl key、mac は cmd key を使います。
+記号は一緒に入力を表す

1ページ下におくる
ctrl + n

1ページ上に戻る
ctrl + b

半ページ下におくる
ctrl + d

半ページ上に戻る
ctrl + u

先頭行に戻る
gg

末尾に移動する
Shift + g

検索
/ + {検索キーワード} =スラッシュ+検索キーワード

指定行数へ移動
{行数} + Shift + g

終了
q

ファイルに保存(pipe で表示にした場合/Linuxのみ, Macでは非動作)
cat /etc/hosts | less
s (=s 入力のあとにファイルパスを入力 )

行表示
-N

1行で表示(折返し表示をしない)
-S

番外編

Linux の mysql コマンドではページャーに less を指定することができます。多くのレコードを SELECT する際に less でページ送り戻りや検索が使えるので mysql へのクエリー結果が見やすくなります。もちろん less の全てのオプションが使えます。おすすめです。

- mysql コマンドで mysql に接続
mysql -uroot -p
- pager に less をセット
pager less
※以降のmysqlクエリー結果が less で表示される

mysql のページャーを元に戻すには

nopager

で元に戻せます。

vi で本番サーバー上のログファイルを参照する人をたまに見かけることがあったので本ブログをまとめてみました。
ページ送り戻り、検索など less は vi と操作が同じところも多いので使いやすいですよ。テキスト参照は是非 less をオススメします。

スポンサーリンク
スポンサーリンク
tech
itをフォローする
it-omochi Blog

コメント

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