Mac/Windows 上“打开”命令的 Linux 等效命令?

jwe*_*ede 53 windows linux mac command-line ubuntu

来自 Mac OS X,您可以输入:

$ open yourfilehere.txt
Run Code Online (Sandbox Code Playgroud)

并且您的文件会像从 Finder 中打开一样打开。


在 Windows 上,可以输入:

> start yourfilehere.txt
Run Code Online (Sandbox Code Playgroud)

它会像您从资源管理器中打开一样打开。


在 Ubuntu 上,我希望能够在 GNOME 中以相同的方式打开文件。命令是什么?

小智 49

xdg-open 就是你要找的。

您可能会喜欢我放在我的.bashrc文件中的这个片段,这样无论我是在 Windows、Linux 还是 OSX 上使用 cygwin,我都可以使用 start 或 open 命令,并且它们工作得很好:

case "$OSTYPE" in
   cygwin*)
      alias open="cmd /c start"
      ;;
   linux*)
      alias start="xdg-open"
      alias open="xdg-open"
      ;;
   darwin*)
      alias start="open"
      ;;
esac
Run Code Online (Sandbox Code Playgroud)

好的评论,xdg-open确实是比gnome-open下面解释的更好的选择。不久前我更新了我的个人脚本,但忘了更新这个答案。

警告:这将覆盖openvt(虚拟终端)和startinit 的功能。

  • gnome-open 是特定于 GNOME 的。xdg-open 适用于所有 Freedesktop.org 兼容发行版。 (13认同)
  • cygwin:尝试“cygstart” (9认同)

aki*_*ira 37

xdg-open xyz.bar
Run Code Online (Sandbox Code Playgroud)

xyz.bar通过注册为xyz.bar类型的应用程序在任何与 freedesktop 兼容的环境中打开(文件或 URL)。另请参阅xdg-open手册页

在实践中,这应该然后调用kde-opengnome-openexo-open甚至可能是open,根据当前的桌面环境(KDE,GNOME,XFCE,OS X)。

  • 好吧,xdg-open 是由 freedesktop.org 开发的,他们声称创建了“标准”,而 gnome-open 是由 gnome 开发的……只有在安装 gnome 时才能获得。我个人更喜欢 freedesktop.org 的东西。 (5认同)
  • 也有效。`xdg-open` 和 `gnome-open` 有什么区别? (3认同)
  • 确实, xdg-open 是这里的正确答案。gnome-open 特定于安装了 GNOME 的桌面。xdg-open 将在任何兼容 freedesktop 的系统上可用。 (2认同)
  • “xdg-open 将在任何兼容 freedesktop 的系统上可用”意味着,在实践中,无论您使用的是 GNOME、KDE、Xfce 还是任何其他环境,`xdg-open` 都将执行_正确的事情_,使用运行环境的文件类型到程序的映射。 (2认同)

Kim*_*Kim 11

您甚至可以围绕 gnome-open 编写一个小包装器,以使用一个命令打开多个文件:

for i in $*
do
    gnome-open "$i"
done
Run Code Online (Sandbox Code Playgroud)

把它放到一个名为 open 的 shell 脚本中

open *.c
Run Code Online (Sandbox Code Playgroud)

将打开当前目录中的所有 c 文件。

  • 有用的脚本,但您需要用“$@”(包括引号)替换 $* 以正确处理带空格的文件名。 (3认同)