Files

命令行是否有“打開方式”命令?

  • April 16, 2019

命令行是否可以根據文件類型獲取用於打開特定文件的推薦程序列表?例如,一個.pdf文件會有一個open with...使用程序的推薦EvinceDocument Viewer.

我在大多數情況下都使用命令行,但有時我會忘記要用於打開特定類型文件的程序的名稱。

順便說一句,我使用的是 Ubuntu 13.10。

專家提示

感謝@slm 在下面選擇的答案,我在一個名為的文件中製作了以下 bash 腳本openwith.sh

xdg-mime query default $(xdg-mime query filetype $1)

作為別名添加或直接作為openwith命令執行。

我從未見過可以充當“打開方式…”的命令,但是您可以使用該命令xdg-open <file>打開<file>與該特定類型文件關聯的應用程序中的給定命令。

例子

打開一個文本文件:

$ xdg-open tstfile.txt
$

導致文件tstfile.txt在以下位置打開gedit

                         gedit的ss

打開 LibreOffice Writer 文件:

$ xdg-open tstfile.odt 
$

導致文件tstfile.odt在 Writer 中打開:

                         作家的ss

使用哪些應用程序?

您可以使用xdg-mime查詢系統來找出與給定文件類型相關聯的應用程序。

$ xdg-mime query default $(xdg-mime query filetype tstfile.txt)
gedit.desktop calibre-ebook-viewer.desktop

$ xdg-mime query default $(xdg-mime query filetype tstfile.odt)
libreoffice-writer.desktop calibre-ebook-viewer.desktop

這是一個 2 步操作。首先,我正在查詢給定文件的 mime 類型,xdg-mime query filetype tstfile.txt它將返回text/plain. 然後使用它來執行另一個查找,以找出與此 mime 類型相關聯的應用程序列表。正如您在上面看到的,我有 2 個關聯的應用程序,gedit並且calibre, 用於.txt文件。

您也可以使用xdg-mime來更改關聯。有關man xdg-mime更多詳細資訊,請參閱。

引用自:https://unix.stackexchange.com/questions/124811