如何使用命令行提取 xip 存档?

问题描述 投票:0回答:7

我搜索了如何使用命令行提取 XIP 存档,但没有成功,所以我在这里留下自己的解决方案,作为

bash
函数。

我在这里找到了我的灵感.

xcode macos xcode8 osx-elcapitan macos-sierra
7个回答
39
投票

你可以试试:

xip -x [path to .xip file]


14
投票

在 macOS Mojave(不确定其他操作系统版本)上,导航到您要将内容展开到的目录,然后运行

xip --expand /path/to/xip.xip
。例如:

iMac:Applications jeff$ xip --expand /Users/jeff/Downloads/Xcode_11_Beta.xip

8
投票
function unxip()
{
    [ -z "$1" ] && echo "usage: unxip /path/to/archive.xip" && return

    # http://newosxbook.com/src.jl?tree=listings&file=pbzx.c
    PBZX="/usr/local/src/pbzx/pbzx" && [ ! -x "$PBZX" ] && echo "$PBZX not found." && return

    [ ! -f "$1" ] && echo "$1 not found." && return

    [ -f "Content" ] || [ -f "Metadata" ] && echo "Content or Metadata already exists." && return

    pkgutil --check-signature "$1" && xar -xf "$1" && "$PBZX" Content | sudo tar x --strip-components=1

    rm "Content" "Metadata"
}

我们首先检查

xip
文件签名,然后使用
xar
提取其内容。然后,我们使用 Jonathan Levin pbzx 正确解压缩
pbzx
块并将输出通过管道传输到
tar
,跳过
.
以避免覆盖当前工作目录权限。

这就是在 OS X El Capitan 上解压

Xcode8.xip
档案的技巧。


8
投票

使用unxip。您可以使用 Homebrew 安装它:

brew install thii/unxip/unxip

提取

.xip
文件:

unxip path/to/.xip

6
投票

open -W archive.xip
会更好,因为它会阻塞,直到存档完成打开。


0
投票

就我而言,我使用了

unxip

brew install unxip

然后提取

unxip <Path-To-The-.xip-File>

-3
投票

你可以跑:

open archive.xip
© www.soinside.com 2019 - 2024. All rights reserved.