我需要将400mb的文件上传到我的Web服务器,但是我只能上传200mb的文件。我的房东建议我使用跨区存档,这在Linux上从未做到过。
我在自己的文件夹中创建了一个测试,拉上了一个PDF到test.zip.001
,.002
和.003
。如何解压缩?我需要先加入他们吗?
请注意,使用7z和使用ZIP格式一样让我感到高兴。如果这对结果有任何影响。
我需要将400mb的文件上传到我的Web服务器,但是我只能上传200mb的文件。我的房东建议我使用跨区存档,这在Linux上从未做到过。
我在自己的文件夹中创建了一个测试,拉上了一个PDF到test.zip.001
,.002
和.003
。如何解压缩?我需要先加入他们吗?
请注意,使用7z和使用ZIP格式一样让我感到高兴。如果这对结果有任何影响。
Answers:
您需要先加入他们。您可以使用常见的linux应用程序,cat
如以下示例所示:
cat test.zip* > ~/test.zip
这将串连所有的test.zip.001
,test.zip.002
等文件合并成一个更大的,test.zip文件。拥有单个文件后,即可运行unzip test.zip
“如何在Linux中创建,拆分,连接和提取zip归档文件”可能会有所帮助。
x*
是文件名吗?并且~/hugefile
是目录吗?代字号的目的是什么?很抱歉问我怀疑是非常基本的问题。
TEST.zip.001
,TEST.zip.002
并且TEST.zip.003
这意味着分割是完全不同的。开始看起来像将Linux扔到VMWare上并在此处创建文件可能更容易,然后至少我只处理1个OS。可以对任何文件类型使用SPLIT命令吗?即图像,音频电影等?
7za x archive
如果归档文件包含目录结构,则可能会更好。
Linux unzip
实用程序实际上并不支持多部分zip。从手册:
除与zip结合使用外,尚不支持多部分归档。(必须按顺序将所有部分串联在一起,然后必须在串联的归档文件上执行
zip -F
(对于zip 2.x)或zip -FF
(对于zip 3.x)才能“修复”它。而且,zip 3.0和更高版本可以合并使用将多部分(拆分)归档文件合并为单个文件归档文件zip -s- inarchive -O outarchive
。有关更多信息,请参见zip 3手册页。)
因此,您需要首先连接片段,然后修复结果。cat test.zip.*
连接所有被称为test.zip.*
通配符*
的任意字符序列的文件;文件以字典顺序进行枚举,由于前导零,因此与数字顺序相同。>test.zip
将输出定向到文件中test.zip
。
cat test.zip.* >test.zip
zip -FF test.zip --out test-full.zip
unzip test-full.zip
如果您是通过直接分割zip文件而不是使用官方Pkzip实用程序创建多部分zip来创建作品的,那么您要做的就是将各个部分结合在一起。
cat test.zip.* >test.zip
unzip test.zip
FF
如果我指向zip
第一个多部分文件,则cat
不需要这种方法。
zip -FF
起来。
7z x archive.zip.001
它将自动找到其余的
我在这里找到了答案:https : //superuser.com/a/517758/10264
这个答案在概念上与Gilles相似,即首先将split存档使用split组合为普通存档,然后使用unzip解压缩。
不同之处在于-FF
,您只是告诉zip重新打包拆分文件而不拆分,而不是使用对我不起作用的标志。这就是-s 0
标志的含义。
因此,首先,将拆分的存档合并到一个存档中:
zip -s 0 split-foo.zip --out unsplit-foo.zip
然后,使用解压缩提取单个存档:
unzip unsplit-foo.zip
只是另一个例子。这在bash中为我工作以拆分3GB oracle安装程序:
echo "<installOracleDB.sh>: Splitting OracleDB installer"
zip /tmp/linuxx64_12201_database.zip --out /tmp/linuxx64_12201_oradb.zip -s 1000m
echo "<installOracleDB.sh>: Merging OracleDB installer"
zip -FF /tmp/linuxx64_12201_oradb.zip --out /tmp/linuxx64_12201_database.zip
echo "<installOracleDB.sh>: Removing temporary files OracleDB installer"
find /tmp -type f -name 'linuxx64_12201_oradb*' -exec rm {} +
echo "<installOracleDB.sh>: Unizipping OracleDB installer"
unzip /tmp/linuxx64_12201_database.zip
我认为值得一提的是,unar命令行工具能够解压缩,解压缩,解压缩,解压缩,解压缩等文件,包括拆分文件,仅需:
unar first_file