Linux 命令速查
文件管理 man open

open

用默认关联程序打开文件;在 Linux 上也可能是 openvt 的别名。

返回

补充说明

Linux 并没有统一的 open 命令,同名程序在不同环境下含义完全不同。Debian 等系统里的 open 通常是 openvt 的别名或包装,作用是在新的虚拟终端(VT)上启动一个程序;macOS 的 open 则是“用默认应用程序打开文件或目录”,桌面上对应的 Linux 命令是 xdg-open。

使用前先确认它到底是什么:readlink -f "$(command -v open)" 和 open --help 能看出实现。如果系统没有该命令,桌面环境请直接用 xdg-open,终端切换请直接用 openvt。

macOS 的常见用法包括:open . 在访达中打开当前目录,open -a 应用 指定程序,open -R 文件 在访达中定位文件,open -n -a App --args ... 启动新实例并传参。Linux 的 openvt 选项则围绕 VT 编号、切换和等待进程结束。

注意:open 不会等待图形程序退出(除非加 -W),脚本中若需同步执行应显式等待。远程 SSH 会话没有图形环境时,xdg-open 通常会失败。

语法

open [选项] 文件...                     # macOS
open [-c 终端号] [-sw] 命令 [参数...]    # Linux,openvt 别名

选项

macOS 常用选项:

  • -a <应用>:用指定应用打开
  • -e:用文本编辑器打开
  • -t:用默认文本编辑器打开
  • -R:在访达中显示文件
  • -n:新开一个应用实例
  • -W:等待应用退出
  • --args:把后续参数传给应用

实例

# macOS:在访达中打开当前目录
open .

# macOS:用指定应用打开文档,并等待其退出
open -W -a "Preview" report.pdf

# macOS:在访达中定位文件
open -R ~/Downloads/archive.zip

# Linux 桌面:用默认程序打开文件(通用替代)
xdg-open report.pdf

# Linux 控制台:在 3 号虚拟终端启动 top
sudo openvt -c 3 top

参考链接