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

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

如果我在 GUI 文件资源管理器中单击某个文件,系统会使用默认程序来打开它。这对于我不知道如何从命令行打开的文件非常有用。

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

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

答案1

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

这是一份工作xdg-open

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

  • 使用默认应用程序打开文件的语法:

    xdg-open {file}
    

xdg-open 已预安装在 Ubuntu 中。

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

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

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

  • 显示文件 MIME 类型的语法:

    xdg-mime query filetype {file}
    
  • 显示 MIME 类型的默认应用程序的语法:

    xdg-mime query default {mimetype}
    
  • 显示文件默认应用程序的语法:

    xdg-mime query default "$(xdg-mime query filetype {file})"
    

作为一种(黑客)解决方法,您可以使用命令

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

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

当且仅当您的计算机上有 PNG 图像并且找到的第一个以 结尾的文件.png是有效的 PNG 图像时,此方法才会起作用。

相关内容