• Linux下的压缩和解压缩命令——zip/unzip


    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+CR字符置换成LF字符。

    -L   显示版权信息。

    -m   将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

    -n<字尾字符串>   不压缩具有特定字尾字符串的文件。

    -o   以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

    -q   不显示指令执行过程。

    -r   递归处理,将指定目录下的所有文件和子目录一并处理。

    -S   包含系统和隐藏文件。

    -t<日期时间>   把压缩文件的日期设成指定的日期。

    -T   检查备份文件内的每个文件是否正确无误。

    -u   更换较新的文件到压缩文件内。

    -v   显示指令执行过程或显示版本信息。

    -V   保存VMS操作系统的文件属性。

    -w   在文件名称里假如版本编号,本参数仅在VMS操 作系统下有效。

    -x<范本样式>   压缩时排除符合条件的文件。

    -X   不保存额外的文件属性。

    -y   直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。

    -z   替压缩文件加上注释。

    -$   保存第一个被压缩文件所在磁盘的卷册名称。

    -<压缩效率>   压缩效率是一个介于1-9的 数值。

    例子:

    1. 压缩ltmain.sh文件

    [root@monitor rrdtool-1.3.4]# zip test1.zip ltmain.sh

      adding: ltmain.sh (deflated 75%)

    [root@monitor rrdtool-1.3.4]# ll ltmain.sh test1.zip

    -rw-r--r-- 1 1003 1001 199991  Feb  8  2008 ltmain.sh

    -rw-r--r-- 1 root  root  49771  Dec  21  13:52 test1.zip

     

    2. 压缩效率分别为3和9

    [root@monitor rrdtool-1.3.4]#zip test2.zip -3 ltmain.sh

    [root@monitor rrdtool-1.3.4]#zip test2.zip -9 ltmain.sh

    [root@monitor rrdtool-1.3.4]# ll ltmain.sh test*.zip

    -rw-r--r-- 1 1003 1001 199991 Feb  8  2008 ltmain.sh

    -rw-r--r-- 1 root root  49771 Dec 21 13:52 test1.zip

    -rw-r--r-- 1 root root  56782 Dec 21 14:07 test2.zip

    -rw-r--r-- 1 root root  49443 Dec 21 14:07 test3.zip

    注:

    压缩率(Compression ratio),描述压缩文件的效果名,是文件压缩后的大小与压缩前的大小之比,

    例如:把100m的文件压缩后是90m,压缩率为90/100*100%=90%,压缩率一般是越小越好,但是压得越小,解压时间越长。压缩效率(compression efficiency)越大压缩后的文件越小,解压时间越长。

     

    3. 将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件

    [root@monitor rrdtool-1.3.4]# zip -r test.zip ./*

    4. 打包目录

    [root@monitor rrdtool-1.3.4]# zip test2.zip doc/*

    5. 删除压缩文件test.zip中的Makefile.am文件

    [root@monitor rrdtool-1.3.4]# zip -d test.zip Makefile.am

    deleting: Makefile.am

     

    6. 向压缩文件test.zip中添加rrdtool.spec文件

    [root@monitor rrdtool-1.3.4]# zip -m test.zip rrdtool.spec

    updating: rrdtool.spec (deflated 68%)

     

    7. 压缩文件时排除某个文件

    [root@monitor tar]# zip test3.zip rrdtool-1.3.4 -x ltmain.sh

     

    unzip命令

    unzip为.zip压缩文件的解压缩程序

    选项:

    -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。

    [.zip文件]   指定.zip压缩文件。

    [文件]   指定要处理.zip压缩文件中的哪些文件。

    -d<目录>   指定文件解压缩后所要存储的目录。

    -x<文件>   指定不要处理.zip压缩文件中的哪些文件。

    -Z   unzip -Z等于执行zipinfo指令。

    例子

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

     [root@mysql test]# unzip test.zip

     

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

     [root@mysql test]# unzip -n test.zip -d /tmp

     

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

     [root@mysql test]# unzip -v test.zip

     

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

     [root@mysql test]# unzip -o test.zip -d tmp/

     

    5.解压当前目录下的所有zip文件

     [root@mysql test]# unzip "*.zip"

     [root@mysql test]# ls *.zip | xargs -n1 unzip

  • 相关阅读:
    发明专利授权容易吗?
    No module named 'PyQt5.QtWebEngineWidgets' 解决方法
    Python可视化界面编程入门
    Python用户界面编程PyQt5的四种的布局方式
    cmd进入任何一个文件夹的步骤?
    cmd如何进入和退出Python编程环境?
    《C++ Primer Plus》16.3 标准模板库 学习笔记
    《C++ Primer Plus》16.2 智能指针模板类
    《C++ Primer Plus》16.1 string类 学习笔记
    Python错误和异常 学习笔记
  • 原文地址:https://www.cnblogs.com/vurtne-lu/p/6207780.html
Copyright © 2020-2023  润新知