首页/系统/Linux 运维命令速查/场景:解压前预览与只取包内文件
本包目录(613 条)
文件与目录76 条
文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:解压前预览与只取包内文件

拿到 tar 包的规范动作:先列表看结构,确认路径安全与内容,再选择性解压需要的路径。

Linux 运维命令速查系统更新于 2026-10-12
场景解压前检查 + 只取需要的文件
工具tar -t 列表 / -x 解压 / --wildcards 模式 / --strip-components 去层
原则先看再解,拒绝盲目解压

常用示例

常用示例
tar -tzvf pkg.tar.gz | head -30
tar -tzf pkg.tar.gz | grep -c '/$'          # 看有多少目录
mkdir -p /tmp/out && tar -xzf pkg.tar.gz path/inside/file.conf -C /tmp/out
tar -xzf pkg.tar.gz --wildcards '*/conf/*.yml' --strip-components=2 -C /tmp/out
成员打包路径以列表输出为准;通配符解压需要 --wildcards(GNU tar),--strip-components 去掉前导目录层数。

易错点

  • 恶意包可能含绝对路径或 ../ 成员,解压前列表里搜一下 '..' 与 '^/'
  • -C 目标目录在旧版 tar 里必须已存在,脚本里先 mkdir -p 再解压

数据来源与参考

  • man 1 tar(GNU tar 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌