红联Linux门户
Linux帮助

tar解压解包指定文件到指定目录

发布时间:2011-03-02 19:14:56来源:红联作者:zoneg
今日需要用到一个特别的应用:
先用tar -zcvf test.tar.gz ./test/进行打包压缩,这样打出来的包test.tar.gz中包含了test目录及其下的所有文件。
现在需要对test.tar.gz中的指定文件test/f1.txt进行解包到一个指定目录,比如为/root,用tar的-C选项可以指定目录,于是tar -zxvf test.tar.gz -C /root test/f1.txt,这样解包得到的是/root/test/f1.txt,而我需要的是/root/f1.txt,即我希望解包时只解包我指定的文件,而不包含原来的目录结构,查了tar的man帮助,没找到有该选项,可以做到吗?
文章评论

共有 16 条评论

  1. autohao 于 2011-12-08 19:33:15发表:

    {:2_92:}

  2. 天真花语 于 2011-07-26 21:50:44发表:

    tar -zxvf 包名称 -C 目的路径即可

  3. siasleo 于 2011-07-25 17:20:09发表:

    学习学习、

  4. lcy1216 于 2011-07-24 00:06:41发表:

    学习了 有机会试一下

  5. n10th 于 2011-07-21 21:07:40发表:

    tar -zxvf test.tar.gz -C /root/

  6. Ethan0705 于 2011-03-19 17:10:51发表:

    学习中

  7. stephenyong 于 2011-03-19 11:47:32发表:

    -C 大写的c

  8. sleeyoyo 于 2011-03-18 18:47:27发表:

    tar -zxvf test.tar.gz f1.txt -C /root/

  9. zoneg 于 2011-03-17 13:40:21发表:

    真遗憾,tar的z、Z、j和O选项在AIX上统统不能用……

  10. gyl0825 于 2011-03-07 17:46:22发表:

    学习中

  11. 相思爱文 于 2011-03-03 21:57:22发表:

    引用:
    不过用重定向的话,效率上会不会有比较明显的影响?我需要在脚本中大量循环调用,文件本身不大,1M左右,不一定都是文本,打成的包在300M左右吧。现在还没拿到数据,所以暂时无法验证
    zoneg 发表于 2011-3-3 10:43

    这个真没试过。利用管道和重定向可以实现很多灵活的功能。我的理解是,不会影响。

    可以用稍大些的数据测试,看看结果。

  12. zoneg 于 2011-03-03 10:43:05发表:

    不过用重定向的话,效率上会不会有比较明显的影响?我需要在脚本中大量循环调用,文件本身不大,1M左右,不一定都是文本,打成的包在300M左右吧。现在还没拿到数据,所以暂时无法验证

  13. zoneg 于 2011-03-03 10:03:37发表:

    -O, --to-stdout
    extract files to standard output

    解包到stdout中显示,用>重定向到文件,算是间接的实现吧

  14. zoneg 于 2011-03-03 10:03:09发表:

    哈哈非常感谢

  15. 相思爱文 于 2011-03-02 23:06:50发表:

    桌面环境用file-roller解包

  16. 相思爱文 于 2011-03-02 23:02:51发表:

    tar -zxf test.tar.gz test/f1.txt -O >/root/f1.txt