macos终端打包压缩应据需求选tar或zip:tar保留元数据适合系统备份,zip跨平台兼容但丢权限;tar可配合gzip/pigz压缩,zip支持交互加密。

如果您在 macOS 系统中需要通过终端对文件或目录进行打包压缩,但不确定该选用 tar 还是 zip 命令,则可能是由于二者适用场景与行为逻辑存在本质差异。以下是针对 macOS 终端环境下实现文件打包的多种可行方法:
一、使用 tar 命令打包(不压缩)
tar 是 Unix/Linux/macOS 原生归档工具,其核心功能是将多个文件或目录整合为单个 .tar 文件,不改变原始体积,但完整保留权限、符号链接、时间戳等元数据,适用于需精确还原系统状态的场景。
1、打开“终端”应用。
2、切换至目标文件所在目录,例如:cd ~/Documents。
3、执行仅打包命令:tar -cvf archive.tar file1.txt file2.pdf folder/。
4、确认生成的 archive.tar 文件存在于当前目录中。
二、使用 tar 命令打包并 gzip 压缩(.tar.gz)
该方式先用 tar 打包,再调用 gzip 算法压缩,生成 .tar.gz 文件,在 macOS 中广泛用于源码分发与备份,兼顾高压缩率与元数据完整性。
1、确保待打包内容位于同一目录下。
2、运行压缩命令:tar -zcvf archive.tar.gz file1.txt file2.pdf folder/。
3、注意:-z 参数必须置于 -c 和 -v 之后、-f 之前,且 -f 后紧跟输出文件名。
4、生成的 archive.tar.gz 可通过 tar -zxvf archive.tar.gz 解压。
三、使用 zip 命令打包并压缩(.zip)
zip 在 macOS 中默认可用,它将打包与压缩合并在一步完成,生成跨平台兼容的 .zip 文件,适合向 Windows 或 macOS 图形界面用户共享文件,但会丢失部分 Unix 权限信息。
1、在终端中进入目标路径,如:cd ~/Downloads。
2、执行基础压缩命令:zip archive.zip file1.txt file2.pdf。
3、若需包含整个目录及其子项,必须添加 -r 参数:zip -r archive.zip my_folder/。
4、生成的 archive.zip 可直接双击在访达中解压,或使用 unzip archive.zip 命令行解压。
四、使用 zip 命令加密压缩
当需对敏感内容设置密码保护时,zip 支持交互式加密,而 tar 默认不提供内置加密能力(需借助 gpg 等外部工具)。
1、输入命令:zip -e -r secure.zip confidential_folder/。
2、终端将提示输入密码两次,密码不会显示在屏幕上。
3、生成的 secure.zip 在解压时必须提供相同密码,否则无法提取内容。
五、使用 tar 配合 pigz 实现多核加速压缩
macOS 默认 gzip 为单线程,处理大目录时较慢;通过 Homebrew 安装 pigz 后,可替代 gzip 实现并行压缩,显著提升速度。
1、先安装 pigz:brew install pigz(如未安装 Homebrew,请先配置)。
2、执行多核压缩:tar -cf - target_dir/ | pigz > archive.tar.gz。
3、该命令将 tar 打包输出直接通过管道送入 pigz,避免生成中间 .tar 文件。
4、验证结果:ls -lh archive.tar.gz 查看压缩后大小与时间戳。










