便利に使えるMacのopenコマンド

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のプレビューは存在し続けます。

コメント