直接在 tar 命令后跟上归档内文件的完整路径名即可提取单个文件,无需解压整个包;路径必须完全匹配,建议先用 tar -tf 或 tar -tzf 列出内容确认路径,再执行 tar -xf archive.tar path/to/file 提取。

直接在 tar 命令后跟上归档内文件的**完整路径名**即可提取单个文件,无需解压整个包。
确认文件在归档中的准确路径
归档内路径必须完全匹配,大小写、斜杠、空格都不能错。建议先列出内容查看:
-
tar -tf archive.tar(普通 tar) -
tar -tzf archive.tar.gz(gzip 压缩) -
tar -tJf archive.tar.xz(xz 压缩)
例如输出含 src/main.py,那提取时就得写全这个路径,不能只写 main.py。
提取单个文件(基础用法)
语法简单:`tar -xf 归档文件 路径/到/目标文件`
tar -xf backup.tar etc/hosts-
tar -xzf config.tar.gz "usr/local/bin/start.sh"(加引号防空格出错) tar -xJf data.tar.xz logs/error.log
注意:-f 必须是最后一个选项,后面紧跟归档文件名;路径写在归档文件名之后,且是归档内部结构里的路径。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
提取时指定输出位置
用 -C 选项把文件解到其他目录,而不是当前目录:
-
tar -xf app.tar -C /tmp config/nginx.conf→ 把config/nginx.conf提取到/tmp/config/nginx.conf tar -xzf code.tar.gz -C ~/projects "src/index.js"
-C 后面的目录必须已存在,否则报错。
批量或按模式提取(进阶技巧)
GNU tar 支持通配符,但需显式启用:
- 提取所有
.conf文件:tar -xzf configs.tar.gz --wildcards "*.conf" - 安全做法:先过滤再提取:
tar -tzf logs.tar.gz | grep '\.log$' | xargs -d '\n' tar -xzf logs.tar.gz - 排除临时文件:
tar -xzf backup.tar.gz --exclude="*.tmp" --exclude="cache/"
注意:--wildcards 不是所有系统默认支持(如 BusyBox tar 不含此功能),使用前可用 tar --help | grep wildcards 确认。










