zoukankan      html  css  js  c++  java
  • 压缩/解压

    一、gzip

    gzip(选项)(参数)

    选项

    -a或——ascii:使用ASCII文字模式;
    -d或--decompress或----uncompress:解开压缩文件;
    -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
    -h或——help:在线帮助;
    -l或——list:列出压缩文件的相关信息;
    -L或——license:显示版本与版权信息;
    -n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;
    -N或——name:压缩文件时,保存原来的文件名称及时间戳记;
    -q或——quiet:不显示警告信息;
    -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
    -S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
    -t或——test:测试压缩文件是否正确无误;
    -v或——verbose:显示指令执行过程;
    -V或——version:显示版本信息;
    -<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
    --best:此参数的效果和指定“-9”参数相同;
    --fast:此参数的效果和指定“-1”参数相同。
    

    参数

    文件列表:指定要压缩的文件列表。

    实例

    把test6目录下的每个文件压缩成.gz文件

    gzip *

    把上例中每个压缩的文件解压,并列出详细的信息

    gzip -dv *

    详细显示例1中每个压缩的文件的信息,并不解压

    gzip -l *

    压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz

    gzip -r log.tar

    递归的压缩目录

    gzip -rv test6

    这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。

    递归地解压目录

    gzip -dr test6
    二、unzip
    unzip(选项)(参数)

    选项

    -c:将解压缩的结果显示到屏幕上,并对字符做适当的转换;
    -f:更新现有的文件;
    -l:显示压缩文件内所包含的文件;
    -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换;
    -t:检查压缩文件是否正确;
    -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中;
    -v:执行时显示详细的信息;
    -z:仅显示压缩文件的备注文字;
    -a:对文本文件进行必要的字符转换;
    -b:不要对文本文件进行字符转换;
    -C:压缩文件中的文件名称区分大小写;
    -j:不处理压缩文件中原有的目录路径;
    -L:将压缩文件中的全部文件名改为小写;
    -M:将输出结果送到more程序处理;
    -n:解压缩时不要覆盖原有的文件;
    -o:不必先询问用户,unzip执行后覆盖原有的文件;
    -P<密码>:使用zip的密码选项;
    -q:执行时不显示任何信息;
    -s:将文件名中的空白字符转换为底线字符;
    -V:保留VMS的文件版本信息;
    -X:解压缩时同时回存文件原来的UID/GID;
    -d<目录>:指定文件解压缩后所要存储的目录;
    -x<文件>:指定不要处理.zip压缩文件中的哪些文件;
    -Z:unzip-Z等于执行zipinfo指令。

    参数

    压缩包:指定要解压的“.zip”压缩包。

    实例

    将压缩文件text.zip在当前目录下解压缩。

    unzip test.zip

    将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

    unzip -n test.zip -d /tmp

    查看压缩文件目录,但不解压。

    unzip -v test.zip

    将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。

    unzip -o test.zip -d tmp/
    三、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包中所有文件,-t是解开的意思

    压缩

    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

    rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

    zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

    解压

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

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

    tar -xjvf file.tar.bz2   //解压 tar.bz2

    tar -xZvf file.tar.Z   //解压tar.Z

    unrar e file.rar //解压rar

    unzip file.zip //解压zip

    总结

    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 解压

    8、*.rar 用 unrar e解压

    9、*.zip 用 unzip 解压

    
    


  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/bingyublog/p/9202348.html
Copyright © 2011-2022 走看看