less は more にまさる
VPS管理での一つのツールとして less がある。less 恐らくどのようなLinuxディストリビューションでも標準で入っているものと思われる。less はテキストファイルビューアーで,種々の README ファイルを読んだり,設定ファイルやログファイルの内容を確認するためのものである。
vi を使えばこのような機能を果たすことができるので必要が無いかもしれない。ただ私は次の理由から less をしばしば使っている。
- ファイルの内容変更は元々できないので操作ミスで不必要に変更されることがない。
(vi でも操作に慣れればこのようなことはないが,私は心配である。) - 同じファイルを同時に開いても問題がない。
- viに比べて操作が簡単である。
less の使用法は簡単で,いくつかのキー操作を覚えれば 簡単に安全に使うことができる。そのキー操作法は
less --help
で知ることができる。これを一通り読めばそれで十分である。
また一つの機能がいくつものキー操作で可能なことも, 使いやすい。例えば, 終了は
q :q Q :Q ZZ
のいずれでもよい。使いやすいものを使えば良いわけだ。
私が less を利用してもっともよく使うのは,最終行へのジャンプ:
G
である。これはログの中身を見るとき,lessで開き,最終行を見るときに使っている。tail の代わりにとしての使用だが,当然ながら tail よりはるかに使い勝手がよい。
lessはかなり古いものであるが,less の作者 Mark Nudelmanは現在も lessの開発を続けていて,現役である。最近の版はUnicodeにも対応し,多言語で使用できるようだ。勿論日本語も 問題なく使える。
less という名称は最初不思議に思ったものだが,調べてみるとなるほどである。
lessの誕生とその名称についてNudelmanは彼のホームページの “Where did less come from?” の項で次のように説明している。
(http://www.greenwoodsoftware.com/less/faq.html#what)
———————————————————————————–
less の生い立ち
Mark Nudelman
1983年のことです,私は Integrated Office Systems という今はもうない企業で働いていました。当時我々の作ったソフトが Unix 上で動いていて,その動作結果の膨大なログを出力していました。そして我々はそのログの中にあるエラーメッセージの検索が必要でした。しかし当時使っていた版の “vi” では,ある一定の サイズを超えたファイルを扱うことができず,そして我々が扱っていたログファイルはしばしばその大きさを超えたのです。ですから,その場合,そのファイルを見るには “more” を使うしかありませんでした。 “more” を使ったときの問題は,エラーメッセージを見つけたとき,我々が見たいのは,エラーを発生させた動作ですが,それは,ログファイルでそのエラーメッセージの直前にあります。しかし,”more”ではファイルの中身を後戻りして見ることはできません。
我々はこの問題を不満に思っていました,このことを指して我々は,「逆戻り more(backwards more)が欲しい」と言ったものですが, 誰かが(私ではありません。ただ残念なことに誰だったか思い出せないのですが,) 「逆戻り more」の考えのジョークとして,「less」という新語を作り出しました。私には,「前に進んだり後戻りできる」単純なページャーを作るのはそれ程難しいとは思えませんでした。そこで,1983年の終わりころに最初の版を書きあげ,我々の組織内で使い始めました。その後,改良を続け,十分に有用なツールになったと思われたので,公開し,広く使用してもらうことにしました。そして,当時 net.sources と呼ばれていたニュースグループに,1985年5月,最初の版を投稿しました。
プログラムソースを公開し,自由に使用可とした結果,非常に多くの人たちが less を使用するようになりました。そして多くの人々がそれぞれの改良を行い,正式な版に入れるようにそのソースを私に送ってくれもしました。また 多くのバグレポートもありましたし,追加してほしい機能についての提案も多くありました。これは,現在でいえば「オープンソース」や「フリーソフトウエア」と言われる考えに沿った私の最初の経験でした。そしてそれによって less が非常に高機能なソフトウエアになったと私は信じています。
私は長年にわたり多くの貴重なコメントや提案をしてくれたすべてのユーザーに感謝をしています。それら無くして現在の less は無かったでしょう。
———————————————————————————–