悠然小屋

不自重者,取辱。不自长者,取祸。不自满者,受益。不自足者,博闻!

«   2019年3月   »
123
45678910
11121314151617
18192021222324
25262728293031
搜索
Tags列表
最新留言
    最近发表
    文章归档
    友情链接

      tar压缩解压缩命令详解

       tar压缩解压缩命令详解


      tar命令详解

      -c: 建立压缩档案

      -x:解压

      -t:查看内容

      -r:向压缩归档文件末尾追加文件

      -u:更新原压缩包中的文件

      这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

      下面的参数是根据需要在压缩或解压档案时可选的。

      -z:有gzip属性的

      -j:有bz2属性的

      -Z:有compress属性的

      -v:显示所有过程

      -O:将文件解开到标准输出

      参数-f是必须的

      -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

      # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
      # tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 
      # tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 
      # tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 
      # tar -xf all.tar 这条命令是解出all.tar包中所有文件,-x是解开的意思

      查看
      tar -tf aaa.tar.gz   在不解压的情况下查看压缩包的内容

      压缩

      tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

      tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

      tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

      tar –cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

      解压

      tar –xvf file.tar //解压 tar包

      tar -xzvf file.tar.gz //解压tar.gz

      tar -xjvf file.tar.bz2   //解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Z

      总结

      1、*.tar 用 tar –xvf 解压

      2、*.gz 用 gzip -d或者gunzip 解压

      3、*.tar.gz和*.tgz 用 tar –xzf 解压

      4、*.bz2 用 bzip2 -d或者用bunzip2 解压

      5、*.tar.bz2用tar –xjf 解压

      6、*.Z 用 uncompress 解压

      7、*.tar.Z 用tar –xZf 解压


      【我的需求】
      现在有一个tar包,是对一个目录用tar命令打包生成的。

      比如,./test 目录下有三个文件 1 , 2, 3。 用 tar -cvf  test.tar ./test 命令 生成了test.tar包

      现在想将这个tar包中的文件 直接解压到指定目录,比如/home下。


      【现在的做法无法满足需求】

      用 tar -xvf ./test.tar -C /home 命令不能满足需求。 因为:

      上面这个解压命令执行完后 生成目录结构是 /home/test/1    /home/test/2  /home/test/3  , 多了一个test子目录层。

      而我希望得到的目录结构是:/home/1  /home/2   /home/3


      tar xvf test.tar --strip-components 1 -C /home  

      老版本的参数是--strip-path number


      或许你会感兴趣的文章——

      Powered By Z-BlogPHP 1.5.2 Zero & Theme by Washun Copyright Csuper All Rights Reserved. 湘ICP备18017694 网络是工具,不是玩具 QQ:493754678 [登录]