最常用、最推荐的方式是tar -czvf 存档名.tar.gz 目录/,即打包+gzip压缩一步完成,兼顾速度、兼容性与压缩率;其他可选算法包括bzip2(-j)和xz(-J),跨平台则用zip。

Linux 中打包压缩整个目录,最常用、最推荐的方式是用 tar 命令配合压缩算法(如 gzip),一步完成打包+压缩。
用 tar + gzip 打包压缩目录(最常用)
这是生产环境和日常操作中最主流的做法,生成 .tar.gz 文件,兼顾速度、兼容性和压缩率。
- 命令格式:
tar -czvf 存档名.tar.gz 要压缩的目录/ -
-c:创建新归档(打包) -
-z:调用 gzip 压缩 -
-v:显示过程(方便确认是否正常运行) -
-f:指定输出文件名(必须放在最后)
例如,把当前目录下的 myproject/ 打包压缩为 myproject-backup.tar.gz:
tar -czvf myproject-backup.tar.gz myproject/
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
其他压缩算法可选(按需使用)
如果对压缩率或速度有特殊要求,可换用 bzip2 或 xz:
- bzip2(中等压缩率,比 gzip 略高,稍慢):
tar -cjvf archive.tar.bz2 目录/ - xz(最高压缩率,适合大文件归档,但较慢):
tar -cJvf archive.tar.xz 目录/
想排除某些子目录(比如缓存、日志)
打包时跳过不需要的内容,用 --exclude 参数即可,支持通配符和多次使用:
- 跳过
node_modules/和所有.log文件:tar -czvf app.tar.gz --exclude="node_modules" --exclude="*.log" app/ - 注意:路径是相对于当前工作目录的,排除路径不加开头斜杠(即写
node_modules,不是/node_modules)
zip 方式(跨平台兼容场景)
如果目标系统是 Windows 或需要直接双击解压,可用 zip:
- 命令:
zip -r archive.zip 目录/ - 排除目录:
zip -r archive.zip 目录/ -x "目录/logs/*" "目录/cache/*" - 缺点:不支持硬链接、权限位保存不如 tar 完整,且默认不保留 SELinux 上下文

















