Macにデフォルトで入っているopenコマンドは、ターミナル画面でファイルやFinderを開くのに便利に使えます。
特に便利だと思うのが別のインスタンスを開く機能です。
プレビューで複数のPDFを見ていて、1つを見終わったところでついつい終了させて、全部閉じてしまい後悔している私には、欠かせないものになりました。
この記事では、openコマンドでよく使っている機能をまとめています。
openコマンドのオプション
open ファイル名
引数のファイルをデフォルトのアプリケーションで開きます。
$ open foo.jpg
open URL
URLをデフォルトのブラウザで開きます。
$ open https://oversleptabit.com
open -a アプリケーション名
/Applicationにあるアプリケーションを開きます。
$ open -a Emacs
拡張子「.app」は付けても付けなくても開きます。
呼び出されるアプリケーションは、正確にはLaunchServicesに登録されているアプリケーションです。
LaunchServices何が登録されているか知るには、パスが長いのでcdすると、
$ cd /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/
$ lsregister -d
で表示されます。
表示される情報が多すぎるので
/lsregister -d | grep -i emacs | grep path
として絞り込むのがいいと思います。
open -a アプリケーション名
で予想外のバージョンが起動したらここを確認してみてください。
–args:アプリケーションに引数を渡す
open -a アプリケーション名 ファイル名
でアプリケーションにファイル名を渡すことができますが、存在しないファイルは開けません。新規ファイルとしては開けないわけです。
foo.txtが存在すれば
$ open -a Emacs foo.txt
でEmacsでfoo.txtを開けますが、存在しない場合エラーになって開けません。
この場合は
open -a アプリケーション名 --args 新しいファイル名
で開ける場合があります(アプリケーションによる)。
open -a Emacs --args foo.txt
open -a Atom --args foo.txt
は開くけど
open -a Typora --args foo.txt
は開けませんでした。
open ディレクトリ名
$ open ディレクトリ名
でFinderを開きます。
open .
:カレントディレクトリ
open ..
:1つ上のディレクトリ
も有効です。
open -g:前面にしない
open で開いたアプリケーションを前面にしない場合「-g」オプションが使えます。
Emacsで開いたファイルを前面にしない場合。
open -ga Emacs ファイル名
open -a Emacs -g ファイル名
どちらでも有効です。
open -n:新しいインスタンスで開く
別のアプリケーションをインスタンスとして開きます。
aaa.jpgがすでにプレビューで開いている場合、
open -n bbb.jpg
とすると、別のプレビューが開いてbbb.jpgを表示します。
bbb.jpgを開いているプレビューを終了させても、aaa.jpgのプレビューは存在し続けます。
コメント