連載:ターミナルとシェルスクリプト入門(1)

この連載では、「ターミナルやシェルスクリプト怖い!わからない!」と思っている人に、「ターミナルやシェルスクリプトの便利さ」を伝えていきたいと思います。

黒い画面は怖い?

初めてPCに触れたのは、幼稚園生の頃でした。 兄が祖父にPCを買ってもらい、傍目でそれを眺めたり、ちょっと触らせてもらったりしてました。

当時はWindows95がブームの頃でした。(これで年齢がだいたい分かっちゃいますね。) 今とは比べ物にならないくらいOSが不安定で、ブルースクリーンが頻繁に発生し、システムが飛ぶこともありました。

Windowsはご存知の通りグラフィカルなユーザーインターフェース(GUI)を持つOSですが、システムが飛んで復旧しなければならないときは、真っ黒い画面(CUI)を相手にしなければいけないこともありました。 幼稚園〜小学生だった僕は、何をすれば解決するのか分からず兄に泣きついて怒られるという感じでした。

そんなこんなで、この真っ黒い画面はトラウマだったわけです。

初めてのターミナル

そんな僕が、本格的にターミナルを触りだしたのは大学の研究室からでした。

機械学習で、ライブラリ(libsvm)を利用しようとしたのですが、最初は全く使い方がわからず…。

GUIに慣れていた僕は、「実行ファイルを起動すれば何か画面が出てくる!」と期待したわけですね。 しかし、libsvmの実行ファイルはCUIのプログラムなので、実行ファイルを起動しても一瞬黒い画面が出て終わってしまうのです。

結局、研究室の助教に使い方を教わり実験を回しましたが、この時点では、ターミナルのありがたみは全く分かっていませんでした。

自動化できないか?シェルスクリプトとの出会い

毎日実験を続けるうちに、パラメータチューニングの必要性が出てきました。 値をちょっとだけ変えて実験を回すのですが、当然、「面倒くさい…」となり。

そして、ふと思ったのです。 「Cのfor文のようなコードを書いておき、PCの前に座っていないときでも自動で処理を回せないか」と。 閃いたのなら、当然ググりますよね!

試行錯誤の末にスクリプトが完成し、自席に居なくても実験が回るという環境ができあがりました。すばらしい!

ターミナルの有り難みを感じた瞬間でした。

CUIの特徴

GUIアプリケーションでは、ドロップダウンリストで選択したり、ボタンをクリックしたりしてPCに指示を出します。 一方、CUIアプリケーションにおいては、すべての命令が文字列で表現されます。

なので、CUIを利用する場であるターミナルは文字さえ表示できれば良いことになります。 これが、ターミナルが無機質な印象を与えてしまう原因です。

しかし、すべての命令が文字列で表現されるため、命令をテキストファイルに保存しておき、実行する事ができます。 上にも書きましたが、予め実行したい命令を書いておけば、席を外している間に処理してくれます。

また、for文などの関数などもあるため、反復処理に強いです。

次回予告

次回は、libsvmを例により、ターミナルを使ってみたいと思います。 黒い画面は、見た目ちょっと怖いけど、使い方はとっても簡単ですよ!

このページをシェアする: