推荐用 tar -czf archive.tar.gz directory/ 一步打包压缩,注意-f后紧跟文件名且为选项末位;避免绝对路径导致解压多层目录,应cd后相对路径打包或用-c指定目录;可加-v、--exclude、-p等提升实用性。

直接用 tar -czf 一步完成打包加 gzip 压缩,关键在选项顺序、路径写法和目录层级控制。
核心命令格式要记牢
最常用也最推荐的写法是:
- tar -czf archive.tar.gz directory/ —— 打包并 gzip 压缩整个目录
- tar -cjf archive.tar.bz2 directory/ —— 用 bzip2 压缩(压缩率更高)
- tar -cJf archive.tar.xz directory/ —— 用 xz 压缩(最高压缩率,但稍慢)
注意:-f 后必须紧跟文件名,且是选项串最后一个。写成 tar -cfz 或 tar -cz -f file.tar.gz 都会出错,因为 tar 会把 z 或空格后的部分误认为是文件名。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
避免解压后多出一层父目录
如果执行 tar -czf backup.tar.gz /home/user/project,解压时会还原出完整绝对路径 home/user/project/(开头斜杠被自动去掉),这容易导致脚本路径失效或覆盖错误位置。
- 推荐做法:先
cd进目标父目录,再用相对路径打包cd /home/user && tar -czf project.tar.gz project/ - 不切换目录的等效写法:用 -C 指定工作目录
tar -czf project.tar.gz -C /home/user project/
常用辅助选项提升实用性
加几个小参数,让操作更安心、更可控:
-
-v:显示正在处理的文件,方便确认是否包含预期内容
tar -czvf project.tar.gz -C /home/user project/ -
--exclude:跳过不需要的子目录或缓存文件
tar -czf project.tar.gz --exclude='node_modules' --exclude='*.log' -C /home/user project/ -
-p:保留原始权限和所有权(尤其适合备份系统配置)
tar -czpf etc-backup.tar.gz /etc
验证和解压的小提醒
打包完建议快速检查内容是否正确:
- 列出归档内文件:
tar -tzf project.tar.gz | head -10 - 解压到指定目录:
tar -xzf project.tar.gz -C /tmp/restore/ - 解压时不带顶层目录?确保打包时没用绝对路径,否则加 -P 也救不了










