如题,怎么把一个目录底下的文件和所有子目录底下的文件压缩成一个gz包?
看好,不是zip,是gzip!

解决方案 »

  1.   

    这个题目问得好!~回答出来的话都快做成WinRAR了。强烈关注一下!~~~
      

  2.   

    tar -zcvf /tmp/etc.tar.gz /etc 
      

  3.   

    方法1:现在碰到了问题,开始用ant.jar的TarOutputStream的,但是搞不定,谁用过这个东西?我现在 压缩 子目录下的所有东西,子目录可能很深方法2:实在没办法,我用runtime.exec方法来输入命令,
    比如,tar -zcvf 压缩文件名字 要压缩的文件路径压缩到成功了,但是 还是有个问题。比如,我要压缩的文件路径为 /root/kimi/test/ap
    也就是我要把这个ap目录底下的所有东西都压缩,但是现在压缩后的文件打开之后发现,压缩之后的文件
    是以root/kimi/test/ap/*这么个开头,我想一打开压缩包,里面是以ap开头的。谁给解决一下!!!
      

  4.   

    runtime.exec (cd root/kimi/test/ && tar -zcvf )
      

  5.   

    错了 切换到目录然后压缩
    runtime.exec (cd root/kimi/test/;tar -zcvf )
      

  6.   

    一、命令的排列
    现在您将看到一些常用的命令排列。您可能想在一行中给出所有命令,然后就可以把注意力转移到其他地方。没问题,shell 允许您在不同的命令之间,放上特殊的排列字符(queuing characters) 。这儿将介绍最常用的两种。请注意,为了看起来更清楚,我在这些字符两旁加了空格。而在实际应用中,您不一定要这么做,'ls -a ; du -hs'和'ls -a;du -hs'的效果是一样的。
    command1 ; command2先执行 command1 ,不管 command1 是否出错,接下来执行 command2 。例如:
    ls -a ; du -hs将先在屏幕上列出目录中的所有内容,然后列出所有目录及其子目录所占磁盘大小。command1 && command2只有当 command1 正确运行完毕后,才执行 command2 。例如:
    ls -a bogusdir && du -hs将返回 ls: bogusdir: No such file or directory ,而'du'则根本没有运行(这是因为您没有'bogusdir'目录)。如果您将符号换成了';','du'将被执行。为了进一步说明';'和'&&'的区别,及一般命令排列的用处,下面举一个经典的例子:Linux 内核的编译和安装。要编译、安装 Linux ,您需要执行一串命令:'make dep'、'make clean'、'make bzImage'、'make modules'、'make modules_install'和'make install'。如果要等一个命令完成后,再输入下一个,再等,再输入,……,那就太麻烦了。另一方面,每个命令只有当前面的命令都正确执行完毕后,才能开始执行。如果您用';'来排列命令,则即使有命令执行失败,后面的也照常运行,最后,您可能在'/boot'目录下得到一个有问题的内核映像(image)。而用'&&':
    make dep && make clean && make bzImage && make modules && make modules_install && make install不需要中途打断,就可以编译内核及其模块,并完成后面的安装。
      

  7.   

    先变成winrar然后再得到 ,然后再变回GZIP
      

  8.   

    runtime.exec 里不能写 cd命令的,你试过没有??