コマンドライン推しはるこです。
はるか以前の日誌ではるこがコンピューターの使い方をはじめて覚えたのがUNIX環境だった
(より詳しく言うと、SunOS。すでにSolarisを名乗っていたはずの時期だったけど…)
という話をしたことがあるかと思うのですが、
はるこにとって、コンピューターといえばターミナルでコマンドを打って使うものという認識でした。
ターミナルの良いところは色々あろうかと思うのですが、詳しくは語りません。
というのも、それを語れるほど詳しい訳ではありませんし、無理筋通して適当な
ことを書くのも気が引けます。
というわけで、ただの「UNIXコマンドを使うのが好きな人」として、
ターミナルの好きなところを語ってみようと思います。
はるこにとってのターミナルの良いところとは、
1.手軽に細かな指示つきの処理を実行できる
2.コマンドさえ知っていればやりたいことをやりたいようにできる
3.ターミナル1つで色んなことができる
といったところでしょうか。
例えば画像の変換をしたい場合。
GUIでやろうとすると、ソフトを起動してファイルをドロップして、出力形式を指定し、
出力ボタンをクリック、という流れになるかと思います。
それが、ターミナルを使えば、次のようにタイプするだけです。
% convert input.png -quality 85 output.jpg
ついでに画質の設定も入れてます。
オプションでこういう設定をサクッと入れられるのもコマンドラインの良さですね。
更にオプションを指定すれば、解像度の変更やトリミングまでもできてしまいます。
さて、今度は動画の変換です。コマンドはこんな感じ。
% ffmpeg -i input.mkv -c:v libx264 -crf 18 -c:a ac3 -b:a 384k output.m2ts
動画となるとさすがにオプションが多いですね(それはさておき、設定から好みがバレそうw)。
とはいえ、この一行のコマンドの中に入力ファイルと映像コーデックに画質設定、音声コーデック、
音声の転送レート、そして、出力ファイル(ファイル名から出力形式が自動設定)まで
コンパクトにまとめて指定されており、これだけ詳細な設定を容易にできるのはコマンドラインならでは
と言えるのではないでしょうか。
もっとも、はるこが実際に動画変換する時はもっと設定盛り盛りで、↑の3倍も4倍もある長さの
コマンドを打っています。
こうなると毎回手でコマンドを打つのはダルい上、設定した内容も忘れてしまうので、テキスト
ファイルで雛形を作って、ターミナルに打ち込むかわりにコピペ、入出力ファイルやオプションを
適宜書き替えて実行しています。
※注:これらのコマンドを使うには、ツールのインストールが必要です。
お気付きでしょうか?
画像の変換も、動画の変換も、どちらもターミナルでコマンドを打つことでできてしまい
ました。
GUIなら、画像を変換するにはそのためのアプリを、動画変換であれば動画変換アプリを、
それぞれ開かねばいけません。
そして、詳細な設定をするのも骨が折れます。
コマンドであればターミナル一つ開いておけば動画だろうが画像だろうが好きに変換できて
しまいます。しかも、手軽に。
あとは、ファイルやディレクトリを探したり、名前を変更したり、コピーしたり、作ったり、消したり
するのもターミナルでできます。というか、コマンドを習うと最初に覚えるのがこれだったりします。
(ディレクトリというのはWindowsで言うところのフォルダのことです)
コマンドさえ知っていれば、好きなようにコンピューターを動かせる(逆に言うとコマンドを知らないと
全く何もできないとも言えるのですが…)のがコマンド(ターミナル)の良さです。
さて、詳しい人ならここでツッコミを入れたくなるところでしょう。
「|(パイプ)とかgrepの話はないの?」
と。
確かに、パイプでコマンドを組み合わせて使ったり、出力結果をgrepで絞り込むのは
UNIXコマンドを「使いこなす」上で外せない「ネタ」で、
はるこもまた、OSの設定や状態を確認する時などに確かに使うことはあるのですが…、
正直それを使いこなしているかと言われれば、ちょっと。www
という訳で、この話は触れておくくらいにさせてください。w
そして次回、ちょっと寄り道して、うっかりUNIXコマンド推しになってしまったはるこの
Windowsとの因縁を語ろうと思います。
次回予告「WindowsでもUNIXコマンドとEmacsを使いたい!」
…ていうか、今回前振りやったんかい! www