今天再centos6.8服务器中 加压 zip文件失败,多次尝试后无效,因为我在内网环境只能离线按照,找到解决办法记录一下。
安装7zip
官网地址:http://www.7-zip.org/download.html
软件下载地址:https://sourceforge.net/projects/p7zip/files/p7zip/
wget https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.tar.bz2
tar -jxvf p7zip_16.02_src_all.tar.bz2
cd p7zip_16.02
make && make install
-
如果执行make命令时,提示安装g++的话,请执行
yum install gcc-c++,离线安装方式下一篇会写。
-
出现 tar (child): bzip2: Cannot exec: No such file or directory,请安装
yum install bzip2 -yc
出现以下信息说明安装正确。
./install.sh /usr/local/bin /usr/local/lib/p7zip /usr/local/man /usr/local/share/doc/p7zip
- installing /usr/local/bin/7za
- installing /usr/local/man/man1/7z.1
- installing /usr/local/man/man1/7za.1
- installing /usr/local/man/man1/7zr.1
- installing /usr/local/share/doc/p7zip/README
- installing /usr/local/share/doc/p7zip/ChangeLog
- installing HTML help in /usr/local/share/doc/p7zip/DOC
7z命令的使用
7za x test.zip -r -o./
参数含义:
- x 代表解压缩文件,并且是按原始目录树解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)
- test.zip 是当前目录下的压缩文件,这里用做测试文件
- -r 表示递归解压缩所有的子文件夹
- -o 是指定解压到的目录,-o后是没有空格的,直接接目录(-o./ 为当前目录)
压缩文件/文件夹
7za a -t7z -r test.7z /opt/test/*
参数含义:
- a 代表添加文件/文件夹到压缩包
- -t 是指定压缩类型,这里定为7z,可不指定,因为7za默认压缩类型就是7z
- -r 表示递归所有的子文件夹
- test.7z 是压缩好后的压缩包名
- /opt/test/* 是压缩目录
- 7za不仅仅支持.7z压缩格式,还支持.zip.、tar、.bz2等压缩类型