如何从命令行使用默认程序打开文件?

Gra*_*ent 11 command-line file-extension ubuntu

如果我单击 GUI 文件资源管理器中的文件,则会使用默认程序打开它。这对于我不知道如何从命令行打开的文件很有用。

有没有办法使用命令行来使用默认程序打开文件?

或者,有没有办法,给定文件扩展名,确定打开它的命令?

Den*_*nis 16

有没有办法使用命令行来使用默认程序打开文件?

这是一份工作xdg-open

xdg-open 在用户的首选应用程序中打开文件或 URL。如果提供了 URL,则该 URL 将在用户首选的 Web 浏览器中打开。如果提供了文件,则该文件将在该类型文件的首选应用程序中打开。xdg-open 支持文件、ftp、http 和 https URL。

xdg-open 预装在 Ubuntu 中。

或者,有没有办法,给定文件扩展名,确定打开它的命令?

通过扩展,没有。默认应用程序是根据 MIME 类型而不是扩展名选择的。Linux 没有“扩展”。

对于特定文件,您可以使用它xdg-mime来确定文件的 MIME 类型和与其关联的默认应用程序:

作为(hacky)解决方法,您可以使用命令

xdg-mime query default \
    `xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"`
Run Code Online (Sandbox Code Playgroud)

显示默认应用程序,例如 PNG 图像。

当且仅当您的计算机上有一个 PNG 图像并且第一个找到的以.pngPNG 图像结尾的文件时,这才有效。