本页目录

  • 通过命令行打开 PDF 文件的另一种方法
  • 通过 CMD 在桌面应用中打开目录或路径
  • 通过 Ubuntu 命令行在桌面浏览器中打开网站
  • 总结

当你想在 Ubuntu 上通过命令行、用该文件类型的默认应用程序打开一个 PDF 文件时,你会怎么做?很简单,双击 PDF 文件图标,或者右键单击并选择“以文档查看器打开”选项。但如果你被要求通过命令行完成同样的任务呢?你知道能帮你完成这项工作的命令行工具吗?

除非你是命令行高手,否则我敢肯定答案会是“不知道”。顺便说一句,Evince 是 Ubuntu 中 PDF 和 PostScript 文件的默认文档查看器,当你想通过命令行打开这类文件时,同名的这个工具可以帮你完成工作。

不过,你会很高兴地了解到,有一种方法可以启动 Evince 来打开 PDF 文件,即使你并不知道存在这样一个同名的命令行工具,而这正是本文要讨论的内容。

请注意,本文提到的所有命令和说明都已在 Ubuntu 22.04 上测试过。

通过命令行打开 PDF 文件的另一种方法

当我们讨论通过命令行完成某项特定工作时,总会涉及到一个工具。这一点在这里同样适用,因为一个名为 xdg-open 的工具能帮你轻松地从命令行打开 PDF 文件。你需要做的只是执行以下命令来打开一个 PDF 文件:

xdg-open [name-of-PDF-file]

就是这么简单。你无需记住有一个名为 Evince 的工具专门处理 PDF 文件,因为 xdg-open 会为你自动启动 Evince。

在 Ubuntu 上用命令行以默认应用打开文件

很酷,不是吗?但现在,你们当中有些人可能心里会有几个与 xdg-open 相关的问题。比如,这个工具是如何工作的,它是否只支持 PDF 文件。好吧,让我来逐一解答这些问题。

至于 xdg-open 是如何工作的,它会使用 GNOME 文件处理程序来打开作为参数传递给它的文件和 URL。这个过程类似于当你双击文件图标时,GNOME 文件管理器识别用哪个默认应用程序打开该文件的方式。xdg -open 会识别文件的 mime-type,启动与该 mime-type 关联的默认应用程序,并将文件名(即用户想要打开的文件)传递给该应用程序。

关于 mime-types 与默认应用程序之间的映射关系,可以查看你 Ubuntu 机器上的 /etc/gnome/defaults.list 文件。

现在来看第二个问题,我在回答第一个问题时所做的解释应该已经让你明白,xdg -open 是一个通用的工具,可以为你打开任何文件。这也说得通,否则你就得为 PDF 文件记住 xdg -open 而不是 Evince——这正是我们一开始遇到的问题。

所以,如果文件是 PDF,xdg -open 会在 Evince 文档查看器中打开该文件;如果是文本文件,则会启动 Gedit。

接下来,这里有一些你会发现有用的 xdg -open 使用示例。

通过 CMD 在桌面应用中打开目录或路径

要在 Nautilus 文件管理器中打开一个目录,运行以下命令:

xdg-open [dir-name-or-path]

例如,以下命令会在 Nautilus 中打开当前工作目录:

xdg-open .

而以下命令会打开 /tmp 目录

xdg-open /tmp

在 Ubuntu 上用命令行以默认应用打开文件

通过 Ubuntu 命令行在桌面浏览器中打开网站

要在系统的默认网页浏览器中打开网站,请将 URL 作为参数传递给 xdg-open。示例如下:

xdg-open https://example.com/

在 Ubuntu 上用命令行以默认应用打开文件

以下是一些其他示例:

       Open an OpenOffice.org document
              xdg-open Spinach.odf
       Open a directory in Nautilus
              xdg-open ~
       Send an e-mail
              xdg-open mailto:
[email protected]
       Possible useless use of xdg-open
              xdg-open /usr/share/applications/gedit.desktop

以下是该工具提供的命令行选项列表:

在 Ubuntu 上用命令行以默认应用打开文件

总结

简而言之,如果你想通过命令行使用默认应用程序打开文件或 URL,应该使用 xdg-open 或其他类似的工具。如果你忘记或不知道用哪个命令行工具来打开某个特定文件——也就是我们在本文中讨论的情况——也可以使用这些工具。在大多数情况下,你不会需要用到它的任何命令行选项,但情况并非总是如此,因此我们在本教程中列出了相关选项列表。总而言之,这是你工具箱里一个很有用的工具。