每天一条Linux命令(10) zip (超详细)


在 Linux 系统中,命令 zip 用于压缩文件使用,zip压缩格式是Windows与Linux等多平台通用的压缩格式。和gzip命令相比,zip命令 压缩文件后不仅不会删除源文件,而且还可以压缩目录。


语法:

zip [选项] [文件或目录]

参数说明:

  • -r 将指定目录下的所有文件和目录一起压缩
  • -x 压缩文件时排除某个文件
  • -q 不显示压缩信息

案例:

压缩test.py文件

[root@master test]# ls Hello.java  test01  test02  test.log  test.py
[root@master test]# zip tsetpy.zip ./test.py   
adding: test.py (stored 0%)
[root@master test]# ls
Hello.java  test01  test02  test.log  test.py  tsetpy.zip
[root@master test]#

压缩目录

[root@master test]# ls
Hello.java  test01  test02  test.log  test.py
[root@master test]# zip test01.zip ./test01  
adding: test01/ (stored 0%)
[root@master test]# ls
Hello.java  test01  test01.zip  test02  test.log  test.py
[root@master test]#

排除压缩 (排除test.log文件)

[root@master test]# ls
Hello.java  test01  test02  test.log  test.py
[root@master test]# zip -r all.zip ./* -x test.log  
adding: Hello.java (deflated 20%)  
adding: test01/ (stored 0%)  
adding: test02/ (stored 0%)  
adding: test.py (stored 0%)
[root@master test]# ls
all.zip  Hello.java  test01  test02  test.log  test.py
[root@master test]# rm -rf Hello.java test01 test02 test.log  test.py
[root@master test]# ls   # 除了压缩文件,删除其他文件
all.zip
[root@master test]# unzip all.zip  # 解压文件  看是否有test.log文件
Archive:  all.zip  
inflating: Hello.java                 
creating: test01/   
creating: test02/ 
extracting: test.py                 
[root@master test]# ls
all.zip  Hello.java  test01  test02  test.py   # 解压后没有test.log文件
[root@master test]#
0

评论0

请先

没有账号? 注册  忘记密码?