GUIアプリケーションは、初期学習コストを抑えられるが、作業の高速化という面でCUIにかなわないケースが多い。例えば、ファイルやディレクトリの管理はFinderで行えるが、ある程度ターミナルとコマンドの操作に慣れてくると、ターミナルで作業した方が速いと感じるエンジニアは多いはずだ。

とはいえ、ターミナルが万能かと言われればもちろんそうではない。操作の内容によってはGUIのほうが効率的なこともあるので、作業効率を追求するならば、GUIとCUIそれぞれの優れた部分を活かして使い分けることが重要だ。

Mac OS Xにおいては、この両者を連携させる便利なコマンドとして「open(1)」がある。ターミナルとFinder、ターミナルとアプリケーションを結びつけ、作業効率を改善することができるので、ここで紹介しておきたい。

open(1)の使い方はこんな具合である。

例えば、ターミナルで作業中にFinderで作業したくなったとしよう。そんなときには、「open .」というコマンドを実行すればよい。Finderでカレントディレクトリが表示されるようになる。

また、「open [ファイル名]」と実行すれば、そのファイルに関連付けられたアプリケーションで対象ファイルを開けるし、「open -a [アプリ名] [ファイル名]」とすれば、アプリケーションを指定してファイルを開くことが可能だ。ファイル名を指定しなければアプリケーションのみが起動する。

open(1)に.を指定して実行するとカレントディレクトリをFinderで開く

起動してくるFinder

open(1)にファイルを指定すると関連付けられているアプリケーションで開く

起動してくるアプリケーション

open(1)に「-a アプリケーション」オプションを指定すると、指定したアプリケーションでファイルを開く

起動してくるアプリケーション

ついでに、初級者のために空白文字を含むファイル/アプリケーションの実行方法も紹介しておこう。

例えば、アプリケーション名に空白文字が含まれている場合、それをそのままコマンドに入力すると、ターミナルが2つの引数として認識してしまい、目的の結果が得られなくなってしまう。そのようなケースでは、「Adobe\ Reader」のようにバッククォートで空白をエスケープするか、「"Adobe Reader"」のようにダブルクォーテーションでくくればよい。覚えておくと便利だろう。