Finderでファイルを選んでスペースキーを押すと表示されるQuick Lookのプレビューを、ターミナルから開きたいときはqlmanage -pを使う。

$ qlmanage -p sample.txt

実行すると、Quick Lookのウィンドウが開く。実行例はmacOS 27.0.1のもの。

qlmanageはmacOS標準搭載のQuick Look管理・デバッグ用コマンドである。もともとQuick Lookのジェネレータ(ファイルの種類ごとにプレビューやサムネイルを作るプラグイン)を開発者がテストするためのコマンドで、man qlmanageの説明も簡素である。使えるオプションはqlmanage -hで確認できる。

複数のファイルをまとめて表示する

引数には複数のファイルを並べられる。

$ qlmanage -p a.txt b.png c.pdf

プロンプトに戻らず実行し続ける

qlmanage -pはフォアグラウンドで実行し続け、ターミナルのプロンプトには戻らない。ターミナルでCtrl+Cを押すと終了する。

プロンプトに戻したいときは、バックグラウンドで実行する。標準出力と標準エラー出力を捨てると、ログが画面に混ざらない。

$ qlmanage -p sample.txt > /dev/null 2>&1 &

毎回入力するのが面倒であれば、~/.zshrcにシェル関数として登録する。

ql() {
  qlmanage -p "$@" > /dev/null 2>&1 &
}

ql sample.txtでQuick Lookのウィンドウが開く。

オプションを付けずに実行すると使い方が表示される

-pや-tなどの動作を指定しないと、ヘルプが表示されて終了コード1で終了する。

$ qlmanage sample.txt
Usage: qlmanage [OPTIONS] path...
	-h		Display this help
	...
$ echo $?
1

存在しないファイルを指定すると終了しない

存在しないファイルを指定しても、エラーにならない。qlmanageは何も表示せず、終了もしない。-tで確認できる。

$ timeout 10 qlmanage -t nosuch.txt -o out
$ echo $?
124

124はtimeoutが10秒でコマンドを打ち切ったときの終了コードである。timeoutはGNU coreutilsのコマンドで、macOSではbrew install coreutilsでインストールすると使える。スクリプトから呼ぶ場合は、ファイルが存在するかを先に確認する。

ファイルに出力する

ウィンドウを開かず、プレビューやサムネイルをファイルとして書き出す方法もある。

参考: 【qlmanage】ウィンドウを開かずプレビュー・サムネイルをファイルに出力する (-o)