a.tar.gz 里有
one.1
one.2
one.3
two.1
two.2我只想解压 包含one的文件到 /tmp文件夹, 怎么处理?

tar -xzv -f a.tar.gz ./one*
这样是可以部分解压的。 我现在是想将两个功能合起来  部分解压 + 指定文件夹。

如下:
tar -xzv -C /tmp -f a.tar.gz one*

tar命令可以加-C参数加路径名指定目标目录。注意是大写的C

如果你是要解开打包的文件,可以先把文件拷贝到目标文件夹下面,我以前也试过好像不能那样写!默认就解压在当前文件夹里面了;
如果是解压
用 gzip 压缩过的
tar -jxvf aa.tar.gz -C ./test/
用 bzip2压缩过的
tar -zxvf aa.tar.bz2 -C./test/
tar 解压部分文件
tar命令大家都很熟悉了 这里整理一下部分解压,只解压出需要的文件, 这样就解决了tar包过大的情况下,解压速度太慢、解压后占用空间过大的问题 
几个步骤: 
查看tar包内包含的文件,如果已经知道这一步可免 
tar -tzvf u2file.tar.gz -rw-r--r-- user/user 45489156 2008-08-04 23:59:46 foder/access.log.20080804 -rw-r--r-- user/user 37469223 2008-08-05 23:59:46 foder/access.log.20080805 
#解压单个文件 tar -zxvf u2file.tar.gz foder/access.log.0805 
#解压多个文件 tar -zxvf u2file.tar.gz foder/access.log.* 
#解压到指定目录 tar -xzvf u2file.tar.gz foder/access.log.0805 -C /new/dir/ # -C 指定解压到的目录.

reebsd下压缩和解压缩的参数很多,现将其中的一些记下来,以备积累.
tar -xzvf file.tgz -C /root/file   -C 参数是将文件 解到指定的目录. 
解压包内的一个文件
比如我
tar -xztf squid-2.6.STABLE9.tgz
出来很多,如:
share/examples/squid/icons/anthony-unknown.gif
share/examples/squid/icons/anthony-xbm.gif
share/examples/squid/icons/anthony-xpm.gif
share/examples/squid/mib.txt
share/examples/squid/mime.conf
share/examples/squid/squid.conf
然后
tar -zxvf squid-2.6.STABLE9.tgz share/examples/squid/squid.conf
 以上是解压squid.conf到 当前目录的 share/examples/squid/squid.conf

换成目录可以
tar -zxvf squid-2.6.STABLE9.tgz share/examples/squid/*
加个星号
  • 暂无相关文章