学习啦 > 学习电脑 > 操作系统 > Linux教程 >

Linux中zip压缩和unzip解压缩命令使用方法

时间: 加城1195 分享

  Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在Linux中,我们可以利用命令进行文件压缩,即zip压缩和unzip解压缩,这篇文章主要介绍了详解Linux中zip压缩和unzip解压缩命令及使用详解,本文给大家介绍的非常详细,需要的朋友可以参考下

  下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解

  1、把/home目录下面的mydata目录压缩为mydata.zip

  zip -r mydata.zip mydata #压缩mydata目录

  2、把/home目录下面的mydata.zip解压到mydatabak目录里面

  unzip mydata.zip -d mydatabak

  3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip

  zip -r abc123.zip abc 123.txt

  4、把/home目录下面的wwwroot.zip直接解压到/home目录里面

  unzip wwwroot.zip

  5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面

  unzip abc*.zip

  6、查看把/home目录下面的wwwroot.zip里面的内容

  unzip -v wwwroot.zip

  7、验证/home目录下面的wwwroot.zip是否完整

  unzip -t wwwroot.zip

  8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

  unzip -j wwwroot.zip

  主要参数

  -c:将解压缩的结果

  -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

  下面给大家介绍下Linux - zip压缩、unzip解压缩命令的使用详解

  由于服务器使用的是 CentOS 系统,对于文件的压缩和解压缩免不了要使用命令操作,这里我对 Linux 系统下常用的 zip 和 unzip 命令做个总结。

  一、zip 压缩

  1,应用实例

  (1)将当前文件夹下的所有文件打包成一个 new1.zip 文件

  zip new1.zip *

  (2)把当前文件夹下所有 my1*.doc 的文件打包成一个 new1.zip 文件

  zip new1.zip my1*.doc

  (3)把一个文件 abc.txt 和一个目录 dir1 压缩成为 yasuo.zip

  zip -r yasuo.zip abc.txt dir1

  (4)将 /home/Blinux/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip

  备注:-q 为安静模式,在压缩的时候不显示指令的执行过程

  zip -qr html.zip /home/Blinux/html

  (5)添加一个文件到 .zip 文件中

  备注:如果当初并没有把 my32.doc 压在 new1.zip 里面,现在把它加进去。-g 选项是增加而不要重新产生的意思。

  zip -g new1.zip my32.doc

  (6)将更改过的文件添加到压缩包中

  备注:如果当初 my2*.doc 都已经压缩进 new1.zip 里面了,但是后来 my2*.doc 中有几个文件有更改,又不想去找出到底是哪些文件更改了,这条命令请系统自行帮助检查,更改过的才更新到压缩,否则就不必动。

  zip -u new1.zip my2*.doc

  (7)删除除 .zip 文件中的指定文件

  备注:如果当初 my18.doc 是压缩在 new1.zip 中的一个文件,现在这条命令把它从压缩文件中抽走并删掉。-d 是删除的意思。

  zip -d new1.zip my18.doc

  2,主要参数

  -f 更新现有的文件

  -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中

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

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

  -r 将指定的目录下的所有子目录以及文件一起处理

  -j 不处理压缩文件中原有的目录路径

  -0 只存储,不压缩

  -l 显示压缩文件内所包含的文件

  -1 较快速度的压缩

  -9 较高质量的压缩

  -q 安静模式,在压缩的时候不显示指令的执行过程

  -v 执行时显示详细的信息

  -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换

  -z 仅显示压缩文件的备注文字

  -@ 从标准输入中读取名称,一个路径名称用一行

  -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间

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

  -i 只压缩符合条件的文件

  -F 尝试修复损坏的压缩文件

  -D 压缩文件内不建立目录名称

  -A 调整可执行的自动解压缩文件

  -J 删除可执行文件,留下一个普通的 zip 归档文件

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

  -X 解压缩时同时回存文件原来的 UID/GID

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

  -e 加密

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

  -h2 显示更多帮助

  二、unzip 解压缩

  1,应用实例

  (1)把文件解压到当前目录下

  unzip test.zip

  (2)如果要把文件解压到指定的目录下,需要用到-d参数。

  unzip -d /temp test.zip

  (3)解压的时候,有时候不想覆盖已经存在的文件,那么可以加上 -n 参数

  unzip -n test.zip

  unzip -n -d /temp test.zip

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

  unzip -o test.zip -d /tmp/

  (5)只看一下 zip 压缩包中包含哪些文件,不进行解压缩

  unzip -l test.zip

  (6)查看显示的文件列表还包含压缩比率

  unzip -v test.zip

  (7)检查 zip 文件是否损坏

  unzip -t test.zip

  2,主要参数

  -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换

  -p 与 -c 参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

  -l 显示压缩文件内所包含的文件

  -f 更新现有的文件

  -t 检查压缩文件是否正确,但不解压

  -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中

  -z 仅显示压缩文件的备注文字

  -v 执行时显示详细的信息。或查看压缩文件目录,但不解压

  -T 将压缩文件内的所有文件的最新变动时间设为解压缩时候的时间

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

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

  -n 解压缩时不要覆盖原有的文件

  -q 安静模式,执行时不显示任何信息

  -o 不必先询问用户,unzip 执行后覆盖原有文件

  -a 对文本文件进行必要的字符转换

  -j 不处理压缩文件中原有的目录路径

  -aa 把所有的文件目录当作文本处理

  -U use escapes for all non-ASCII Unicode

  -UU 忽略 Unicode 编码字符

  -C 压缩文件中的文件名称区分大小写

  -L 将压缩文件中的全部文件名改为小写

  -X 解压缩时同时回存文件原来的 UID/GID

  -V 保留 VMS 的文件版本信息

  -K 保留文件的 setuid/setgid/tacky 属性

  -M 将输出结果送到 more 程序处理

  -O 指定字符编码为 DOS,Windows 和 OS/2

  -I 指定字符编码为 UNIX

  补充:Linux基本命令

  ①ls 意为list 列出当前文件夹中的文件

  -l 显示文件的属性 可用ll来表示

  ②alias 别名 看看是否有别名的文件

  ③cd dir 跳跃目录 -P选项 将路径中的链接文件替换成链接指向的文件路径

  ④pwd 查看当前工作的文件夹名 使用-P的选项,会直接进入到其中,相当于cd

  相关阅读:Linuxshell脚本不执行问题实例分析

  shell脚本不执行问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“:badinterpreter:Nosuchfileordirectory”错。看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。原因:在DOS/windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。解决:

  1)重新在linux下编写脚本;

  2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m)附:sh-x脚本文件名,可以单步执行并回显结果,有助于排查复杂脚本问题。


Linux中zip压缩和unzip解压缩命令相关文章:

1.linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结

2.linux tar.gz压缩解压命令

3.linux shell解压命令

4.linux下解压命令大全

5.Linux命令全集

4017089