• Linux——文件打包与压缩


      Linux 下常见常用的压缩包文件格式有*.zip,*.rar,*.7z*.gz,*.xz,*.bz2,*.tar,*.tar.gz,*.tar.xz,*tar.bz2等后缀的压缩文件

    文件后缀名说明
    *.zip zip程序打包压缩的文件
    *.rar rar程序压缩的文件
    *.7z 7zip程序压缩的文件
    *.tar tar程序打包,未压缩的文件
    *.gz gzip程序(GNU zip)压缩的文件
    *.xz xz程序压缩的文件
    *.bz2 bzip2程序压缩的文件
    *.tar.gz tar打包,gzip程序压缩的文件
    *.tar.xz tar打包,xz程序压缩的文件
    *tar.bz2 tar打包,bzip2程序压缩的文件
    *.tar.7z tar打包,7z程序压缩的文件

    ZIP

    zip压缩打包文件

    zip命令文件压缩与解压 zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。

    语法:
    zip(选项)(参数)
    
    选项:
    -A:调整可执行的自动解压缩文件; 
    -b<工作目录>:指定暂时存放文件的目录; 
    -c:替每个被压缩的文件加上注释; 
    -d:从压缩文件内删除指定的文件; 
    -D:压缩文件内不建立目录名称; 
    -f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,
    如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中; 
    -F:尝试修复已损坏的压缩文件; 
    -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件; 
    -h:在线帮助; 
    -i<范本样式>:只压缩符合条件的文件; 
    -j:只保存文件名称及其内容,而不存放任何目录名称; 
    -J:删除压缩文件前面不必要的数据; 
    -k:使用MS-DOS兼容格式的文件名称; 
    -l:压缩文件时,把LF字符置换成LF+CR字符; 
    -ll:压缩文件时,把LF+cp字符置换成LF字符; 
    -L:显示版权信息; 
    -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中; 
    -n<字尾字符串>:不压缩具有特定字尾字符串的文件; 
    -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同; 
    -q:不显示指令执行过程; 
    -r:递归处理,将指定目录下的所有文件和子目录一并处理; 
    -S:包含系统和隐藏文件; 
    -t<日期时间>:把压缩文件的日期设成指定的日期; 
    -T:检查备份文件内的每个文件是否正确无误; 
    -u:更换较新的文件到压缩文件内; 
    -v:显示指令执行过程或显示版本信息; 
    -V:保存VMS操作系统的文件属性; 
    -w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效; 
    -x<范本样式>:压缩时排除符合条件的文件; 
    -X:不保存额外的文件属性; 
    -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效; 
    -z:替压缩文件加上注释; 
    -e: 创建加密压缩包
    -$:保存第一个被压缩文件所在磁盘的卷册名称; -<压缩效率>:压缩效率是一个介于1~9的数值。
    
    参数:
    zip压缩包:指定要创建的zip压缩包; 
    文件列表:指定要压缩的文件列表。
    
    实例:
    zip -q -r -o home.zip /home
    zip -r -1 -q -o test_1.zip /home/test -x ~/*.zip

    注意: 关于zip命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:需要加上-l参数将LF转换为CR+LF来达到以上目的。

    unzip解压缩zip文件

    语法:
    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”压缩包。
    
    实例:
    unzip -n test.zip -d /tmp
    

    注意: 使用unzip解压文件时我们同样应该注意兼容问题,不过这里我们关心的不再是上面的问题,而是中文编码的问题,通常 Windows 系统上面创建的压缩文件,如果有有包含中文的文档或以中文作为文件名的文件时默认会采用 GBK 或其它编码,而 Linux 上面默认使用的是 UTF-8 编码,如果不加任何处理,直接解压的话可能会出现中文乱码的问题(有时候它会自动帮你处理),为了解决这个问题,我们可以在解压时指定编码类型。使用-O(英文字母,大写o)参数指定编码类型:

    unzip -O GBK 中文压缩文件.zip
    

      

  • 相关阅读:
    VS2010调试技巧
    asp.net中Web.Config配置文件详解
    vi进入编辑模式,按向左,向右,向上,向下,出现A,B,C,D字符解决方法
    su root后还是不能使用usermod,useradd等命令,错误描述:bash:usermod:command not found(转自http://myjieli.blog.51cto.com/135162/286462)
    启动VMware出现报错:The VMware Authorization Service is not running
    C++调用被C编译器编译过的函数要加extern "C"(转自http://zhidao.baidu.com/question/193713666.html)
    json,junit运行java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
    java生成xml文件
    java连接数据库
    eclipse_javaee运行时总是未响应
  • 原文地址:https://www.cnblogs.com/ZhaoxiCheung/p/6710714.html
Copyright © 2020-2023  润新知