zip命令:
zip命令是压缩和文件打包的工具,unzip是解压的命令。
zip命令将一个或多个文件压缩成一个zip文件(文件大于4G时zip64默认后缀),整个目录也可以被压缩到一个文件中。text文件的压缩比例是2:1或3:1。
ZIPOPT环境变量 执行zip时会调用ZIPOPT的环境变量,如果我们想定制一些操作可以将ZIPOPT加载到当前环境变量中。ZIPOPT="-D"; export ZIPOPTzip语法格式:
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