【Linux】unzip解压失败( cannot find zipfile directory) | 您所在的位置:网站首页 › linuxzip解压报错 › 【Linux】unzip解压失败( cannot find zipfile directory) |
[root@localhost soft]# unzip QY.zip Archive: QY.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of QY.zip or QY.zip.zip, and cannot find QY.zip.ZIP, period. 刚开始以为是压缩包文件部分信息丢失,导致解压出错了,不应该呀,怎么会出错呢,,emmmm,还是感觉不对劲,于是Google了下: 1. 一般在linux下解压zip文件,直接用系统默认的extract here进行解压(默认使用的是 unzip) 2. 如果压缩文件.zip是大于2G的,那unzip就无法使用了,这是由于C库中long类型数据所能表示的文件偏移在32位机子上 只能有2G 3. 所以如果要解压大文件,可以使用7zip来解压 安装7zip官网地址:http://www.7-zip.org/download.html 软件下载地址:https://sourceforge.net/projects/p7zip/files/p7zip/ 这里使用16.02版本进行安装,linux环境 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 -y出现以下信息,即为安装完毕 ./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命令的使用解压缩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等压缩类型 |
CopyRight 2018-2019 实验室设备网 版权所有 |