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)
