テキストファイルを確認する Linux コマンドのまとめ
普段 Linux 環境でテキストファイルを見たり編集したりする時、僕はもっぱら Vim を使っている。しかし、ログファイルを閲覧したりする時は、less
とかを上手く使えるとカッコイイ気がする。
そこで今回は、今更ながらテキストファイルを閲覧するコマンド類をまとめてみようと思う。
目次
vi
おなじみテキストエディタ。VIsual editor とか Visual Interface とかの略らしい。
POSIX 準拠らしく、Linux OS にはプリインストールされているのが特徴。コレの使い方だけ覚えておけば、閲覧も編集もとりあえずできる。
とりあえずの使い方は以前紹介した以下の記事を参照のこと。
- これだけ覚えておくと Vim に拒絶反応がなくなると思うキー操作・コマンド一覧
- Mac のターミナルで使うエイリアスを設定しつつ Vim の基本的なキー操作を覚えてみる
- Vimtutor : Vim の使い方を覚えられるコマンドがあった
vim
vi
の改造版。Vi IMproved の略。
機能が拡充されているが、最近は vi
が vim
のエイリアスになっている場合すらある。が、エイリアスになってることを期待して vi
と打っていると、vim
ではなく機能が少ない vi
が起動していることもあるので、やっぱり意識して vim
と叩いた方が良いのかも。
view
vi
のエイリアスだが、ファイルを読み取り専用モードで開ける。インサートモードに移ると警告文が出るが編集はできて、無理やり保存する時は :w!
とすれば一応保存もできる。
$ ls | view -
みたいにパイプで渡して使えたりする- 参考 : vim を less とか more の代わりに使うと便利 – tomeapp
more
ファイルを1画面ごとに閲覧できる、ページャと呼ばれるコマンド。1978年に開発された。
d
・Space
で1画面下がるz
・Enter
で1行下がるb
で上に戻るh
でヘルプ表示q
で終了v
でvi
が開く
元々は下の行に移動していく機能しかなく、上の行には戻れなかったようだ。だから More なのねん。最終行に移動する機能はなさそう。
less
more
より高機能なページャコマンド。1983年に開発された。日本語への対応が上手くいかない場合もあったようだが、最近はあまり気にしなくて良さそう。
d
・u
で大きく移動j
・k
で1行移動h
でヘルプ表示q
で終了g
で1行目に移動G
(Shift + g
) で最終行に移動
emacs
Vi とエディタ論争を巻き起こしていた Emacs。MacOS はプリインストールされてるが、CentOS などはプリインストールされていない、という点で、最近はあまり人気が高くない様子。ローカルで好きに使うならいいけど、サーバ管理する際は使わないと思う。
- うっかり
emacs
の画面に入ってしまったら、Control + x
→Control + c
と入力すれば強制終了できる - 参考 : Emacsのバージョン | Emacs JP
- 参考 : emacsがプリインストールされないのはなぜですか? - コードログ
- 参考 : 1.2 Emacsの起動と終了
- 参考 : GNU Emacs Manual - Exiting
cat
本来は CATenate
のとおり、複数のファイル結合するためのコマンド。ファイルを1つだけ指定した場合に、ファイル全量を標準出力に書き出す動きをするので、ファイルの内容を確認するために使ったりする。
「Useless Use of cat
無駄な cat
の使用」というジャーゴンがあったりして、cat
使わなくても実現できるのに使ってる例がよくある。
$ cat file.txt | grep 'HOGE'
→$ grep 'HOGE' ./file.txt
tac
ファイルを最終行から逆に出力する。cat
のつづりが逆転して tac
、というワケ。
GNU CoreUtils に含まれているコマンドで、Linux 系なら入っているだろうが、MacOS には入っていない。MacOS では tail -r
というコマンドを使うと良い。
$ tac example.txt | head -1
は$ cat example.txt | tail -1
と同じく、最終行が表示できる$ tac a.txt b.txt
とすると、a.txt
の逆順 →b.txt
の逆順、の順に結合・出力する。b.txt
がa.txt
より先にはならないので注意- 参考 : 逆順出力 tac と tail -r - Qiita
ログファイルの最後から遡って確認する時に良いかも。
以上
今までなんとなく more
とか less
とか叩いていたが、少し体系的に覚え直せた。