欢迎来到我的博客园

linux zip 命令

zip命令:

zip命令是压缩和文件打包的工具,unzip是解压的命令。

zip命令将一个或多个文件压缩成一个zip文件(文件大于4G时zip64默认后缀),整个目录也可以被压缩到一个文件中。text文件的压缩比例是2:1或3:1。

ZIPOPT环境变量
执行zip时会调用ZIPOPT的环境变量,如果我们想定制一些操作可以将ZIPOPT加载到当前环境变量中。
ZIPOPT="-D"; export ZIPOPT
zip语法格式:

 

zip options archive inpath inpath ...

当给定的压缩文件名字存在于磁盘上,zip会替换掉旧的文件,例如test.zip包中有 test/file1,test/file2.当前目录test中有test/file1,test/file3当我们执行"zip -r test.zip test"时,test/file1会被覆盖掉,、tesst/file2不变,test/file3追加到test.zip中.

-@ 搭配zip命令使用,zip会对标准输入的文件列表进行打包,而不是命令行中。同find 命令搭配起来很有用。

[root@node1 ~]# find ./ -name "*.txt"|zip test.zip -@
  adding: test.txt (deflated 63%)
  adding: rpm.txt (deflated 70%)
  adding: yum.txt (deflated 71%)
  adding: yumcfg.txt (deflated 67%)
  adding: top.txt (deflated 69%)
  adding: yumconfig.txt (deflated 67%)
  adding: yumtools.txt (deflated 63%)
  adding: pkg_cl.txt (deflated 63%)
  adding: repoquery.txt (deflated 66%)
  adding: installed.txt (deflated 31%)
  adding: reposync.txt (deflated 63%)
  adding: repotrack.txt (deflated 62%)
  adding: yumdownloader.txt (deflated 60%)
  adding: 1.txt (deflated 67%)
  adding: bash.txt (deflated 73%)
  adding: tar.txt (deflated 69%)
  adding: tarinfo.txt (deflated 69%)
  adding: find.txt (deflated 70%)
  adding: cpio.txt (deflated 67%)
  adding: zip.txt (deflated 69%)

  

常用选项

-d从zip文件中删除文件

zip -d foo foo/tom/junk foo/harry/\* \*.o

  

-i  --include files 只压缩指定的文件
zip -r foo . -i \*.c

 

-m 压缩之后删除指定的文件
-r 递归目录
 
zip -r foo.zip foo
-R 按照指定模式递归当前目录
zip -R */bar.c
 
-u 如果文件有更新,那么更新压缩包里的文件。
zip -u stuff *
 
-x --exclude files 排除指定的文件
zip -r foo foo -x \*.o \*.c

  

posted @ 2022-07-06 08:19  panzq  阅读(2214)  评论(0编辑  收藏  举报