如果我在 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 图像时,此方法才会起作用。