macOS命令行安装已下载好的软件,从DMG、PKG到ZIP的详细指南

2026-04-2021阅读macos

文章最后更新时间:2026年04月25日

macOS命令行安装已下载软件,需根据文件类型操作:DMG磁盘映像先用hdiutil attach挂载,进入/Volumes下的虚拟磁盘,复制.app文件到/Applications;PKG安装包直接用installer -pkg 路径.pkg -target /安装;ZIP压缩包则用unzip -d 解压目录 文件.zip解压,再将解压出的.app移至/Applications,命令行操作无需图形界面,适合批量处理或远程管理,需注意文件路径权限及来源安全性。

在macOS使用中,虽然图形界面的拖拽安装最为直观,但命令行(Terminal)凭借其高效、可控和适合自动化部署的优势,在安装已下载好的软件时仍有不可替代的作用,无论是企业批量部署、服务器环境管理,还是追求极客效率的用户,掌握命令行安装方法都能让软件安装更灵活,本文将详细介绍如何通过命令行安装macOS中常见的已下载软件格式(DMG、PKG、ZIP、APP),并附上注意事项和实用技巧。

为什么选择命令行安装已下载软件?

在开始操作前,先明确使用命令行的核心优势:

  • 自动化部署:通过脚本批量安装软件,适合多台设备统一配置;

  • 无图形界面依赖:在macOS Server或远程终端中,无需启动图形界面即可完成安装;

  • 精确控制:可自定义安装路径、权限设置,避免图形界面操作中的误操作;

  • 高效处理:对于熟悉命令行的用户,输入几行指令比反复点击鼠标更快捷。

常见软件格式的命令行安装方法

macOS中已下载的软件通常以DMG(磁盘映像)、PKG(安装包)、ZIP(压缩包)或直接APP(应用程序包)格式存在,不同格式的安装方式差异较大,下面逐一说明。

DMG文件安装:挂载后复制APP到“应用程序”

DMG(Disk Image)是macOS最常见的软件分发格式,本质上是一个虚拟磁盘,安装步骤的核心是“挂载DMG→复制APP到Applications目录→卸载DMG”。

操作步骤:

假设已下载的软件为 MyApp.dmg,保存在 ~/Downloads 目录下(后续示例均默认此路径,实际使用时请替换为你的文件路径)。

第一步:挂载DMG文件
使用 hdiutil attach 命令挂载DMG,系统会创建一个虚拟磁盘(通常显示在“访达”的“设备”下):

hdiutil attach ~/Downloads/MyApp.dmg

执行后,终端会输出挂载信息,类似:

/dev/disk2              GUID_partition_scheme   
/dev/disk2s1            Apple_HFS   /Volumes/MyApp      # 重点:/Volumes/MyApp 是挂载后的路径

/Volumes/MyApp 即为DMG挂载后的卷名(如果你的软件卷名不同,请以实际输出为准)。

第二步:复制APP到“应用程序”目录
通过 cp 命令将挂载卷中的APP文件复制到 /Applications(macOS的应用程序标准目录):

cp -r "/Volumes/MyApp/MyApp.app" /Applications/
  • -r 参数表示递归复制(因为APP目录包含多个子文件/文件夹);

  • 路径中的引号  用于处理包含空格的目录名(如 My App.app)。

第三步:卸载DMG文件
安装完成后,使用 hdiutil detach 卸载挂载的卷,释放资源:

hdiutil detach /Volumes/MyApp

示例完整流程:

# 1. 挂载DMG
hdiutil attach ~/Downloads/MyApp.dmg
# 2. 复制APP到Applications
cp -r "/Volumes/MyApp/MyApp.app" /Applications/
# 3. 卸载DMG
hdiutil detach /Volumes/MyApp
# 4. 验证安装(可选)
open -a MyApp  # 直接打开软件

PKG文件安装:使用 installer 命令处理PKG

PKG(Package)是macOS的软件安装包格式,通常包含安装脚本、依赖库和文件,图形界面下双击PKG会启动安装向导,命令行则通过 installer 命令直接执行安装。

操作步骤:

假设已下载的软件为 MyApp.pkg,位于 ~/Downloads 目录下。

核心命令

installer -pkg ~/Downloads/MyApp.pkg -target /
  • -pkg:指定PKG文件路径;

  • -target /:指定安装目标目录, 表示根目录(PKG会自动将文件安装到标准位置,如APP放入 /Applications,库文件放入 /Library 等)。

高级参数说明:

  • -target /Users/username:仅安装到指定用户目录(适用于多用户环境,但多数PKG不支持);

  • -verbose:显示详细安装过程(调试时使用);

  • -allow-unsigned:允许安装未签名的PKG(不推荐,存在安全风险)。

示例完整流程:

# 1. 执行安装(带详细输出)
installer -pkg ~/Downloads/MyApp.pkg -target / -verbose
# 2. 验证安装(检查APP是否在Applications)
ls /Applications/ | grep MyApp
# 3. 打开软件(可选)
open -a MyApp

ZIP文件安装:解压后复制APP或PKG

ZIP是通用压缩格式,macOS中可能包含两种情况:

  • 压缩的是APP文件(如 MyApp.zip 解压后为 MyApp.app);

  • 压缩的是PKG文件(如 MyApp.pkg.zip 解压后为 MyApp.pkg)。

处理方式需根据解压后的内容决定。

情况1:ZIP内为APP文件(直接解压复制)

步骤
使用 unzip 解压ZIP文件,然后将APP复制到 /Applications

# 1. 解压ZIP到临时目录(避免污染当前目录)
unzip ~/Downloads/MyApp.zip -d ~/temp_app
# 2. 复制APP到Applications
cp -r ~/temp_app/MyApp.app /Applications/
# 3. 清理临时目录(可选)
rm -rf ~/temp_app

情况2:ZIP内为PKG文件(解压后按PKG方式安装)

步骤
先解压ZIP,再用 installer 命令安装解压后的PKG:

# 1. 解压ZIP
unzip ~/Downloads/MyApp.pkg.zip -d ~/temp_pkg
# 2. 安装PKG(假设解压后为MyApp.pkg)
installer -pkg ~/temp_pkg/MyApp.pkg -target /
# 3. 清理临时目录
rm -rf ~/temp_pkg

小技巧:

如果ZIP解压后直接包含APP(无中间目录),可通过 unzip -l 查看压缩内容:

unzip -l ~/Downloads/MyApp.zip

输出类似:

Archive:  MyApp.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     4096  2023-10-01 10:00   MyApp.app/
   102400  2023-10-01 10:00   MyApp.app/Contents/
   ...(省略具体文件)

根据 Name 判断解压后的文件结构,避免复制错误。

APP文件安装:直接复制到“应用程序”(最简单)

如果已下载的是 .app 文件(可能是从其他设备复制,或已解压的软件),安装只需将其复制到 /Applications 目录,并确保权限正确。

操作步骤:

假设APP文件为 MyApp.app,位于 ~/Downloads 目录下:

# 复制APP到Applications
cp -r ~/Downloads/MyApp.app /Applications/
# 修复权限(可选,如果软件无法启动)
chown -R $(whoami):staff /Applications/MyApp.app
  • chown 命令用于修改文件所有者,$(whoami) 会自动替换为当前用户名,staff 是macOS默认用户组,确保当前用户对APP有读写权限。

验证安装:

open -a MyApp  # 打开软件
ls -l /Applications/MyApp.app  # 检查权限和文件存在性

注意事项:安全与权限不可忽视

命令行安装虽然高效,但操作不当可能导致系统问题或安全风险,需牢记以下要点:

确认软件来源安全

  • 仅从官方渠道或可信站点下载软件,避免安装来源不明的PKG/DMG(可能包含恶意代码);

  • 对于PKG文件,可通过 codesign 命令检查签名(codesign -v ~/Downloads/MyApp.pkg),有签名表示来自可信开发者。

权限管理:谨慎使用 sudo

  • 安装软件通常不需要 sudo/Applications 目录普通用户有写入权限),除非软件需要写入系统目录(如 /Library);

  • 若提示权限不足,再考虑 sudo,但需明确操作目的,避免误删系统文件。

避免覆盖已安装软件

  • /Applications 已存在同名APP,复制前建议先备份或删除旧版本(rm -rf /Applications/MyApp.app);

  • 使用 mv 命令直接移动(而非复制)可节省空间,但需确保源文件不再需要。

处理安装失败

  • 如果安装后软件无法启动,检查日志:log show --predicate 'senderImagePath contains "MyApp"'

  • 对于DMG安装,确认挂载路径是否正确(避免复制到 /Volumes 而非 /Applications)。

进阶技巧:批量安装与脚本自动化

如果需要批量安装多款软件(如新电脑初始化),可结合 for 循环编写脚本,实现一键安装。

示例:批量安装DMG和PKG

假设 ~/Downloads/software 目录下有多款软件(包含 .dmg.pkg),编写脚本 install_software.sh

#!/bin/bash
# 设置软件目录
SOFTWARE_DIR="$HOME/Downloads/software"
# 遍历目录下的所有DMG文件
for dmg in "$SOFTWARE_DIR"/*.dmg; do
    if [ -f "$dmg" ]; then
        echo "Installing DMG: $(basename "$dmg")"
        hdiutil attach "$dmg"
        app_name=$(ls /Volumes | grep -v "Macintosh HD" | head -1)  # 获取挂载卷名(简化逻辑)
        cp -r "/Volumes/$app_name/"*.app /Applications/
        hdiutil detach "/Volumes/$app_name"
    fi
done
# 遍历目录下的所有PKG文件
for pkg in "$SOFTWARE_DIR"/*.pkg; do
    if [ -f "$pkg" ]; then
        echo "Installing PKG: $(basename "$pkg")"
        installer -pkg "$pkg" -target /
    fi
done
echo "All software installed!"

使用方法:

  1. 将脚本保存为 install_software.sh,放入任意目录(如 ~/Scripts);

  2. 赋予执行权限:chmod +x ~/Scripts/install_software.sh

  3. 运行脚本:~/Scripts/install_software.sh

macOS命令行安装已下载软件,本质是通过工具命令(hdiutilinstallerunzipcp)处理不同格式的文件,最终将APP或组件放入系统标准目录,虽然需要记忆少量命令,但其在自动化、精确控制和效率上的优势,使其成为macOS进阶用户的必备技能。

无论是日常使用还是企业部署,掌握DMG、PKG、ZIP、APP的命令行安装方法,都能让你更从容地管理macOS软件环境,安全第一、权限谨慎”,即可高效完成安装任务。

文章版权声明:本文内容由互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

目录[+]