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


10

如果我在GUI文件浏览器中单击一个文件,则使用默认程序将其打开。这对于我不知道如何从命令行打开的文件很有用。

有没有一种方法可以使用命令行使用默认程序打开文件?

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

Answers:


15

有没有一种方法可以使用命令行使用默认程序打开文件?

这是一项工作xdg-open

xdg-open在用户的首选应用程序中打开文件或URL。如果提供了URL,则将在用户首选的Web浏览器中打开URL。如果提供了文件,则将在首选应用程序中打开该类型文件的文件。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图像时,此方法才有效。


正是我想要的!您是否知道xdg-open是否可以告知用于打开的命令(例如PNG文件)?
2013年

我已经更新了答案。
丹尼斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.