用split命令恢复被wget -c命令误追加的zip压缩包

想用wget 下载最新的duckdb,结果漏写-O参数,误追加了已有的duckdb-binaries-linux-amd64.zip文件。

复制代码
wget -c https://artifacts.duckdb.org/v1.5-variegata/duckdb-binaries-linux-amd64.zip duckdb-binaries-linux-amd64-0710.zip
--2026-07-11 10:27:12--  https://artifacts.duckdb.org/v1.5-variegata/duckdb-binaries-linux-amd64.zip
Resolving artifacts.duckdb.org (artifacts.duckdb.org)... 2606:4700:20::681a:f63, 2606:4700:20::681a:e63, 2606:4700:20::ac43:48ef, ...
Connecting to artifacts.duckdb.org (artifacts.duckdb.org)|2606:4700:20::681a:f63|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://productionresultssa7.blob.core.windows.net/actions-results/6f1f35d0-0cf8-415c-bd98-339c8b17fee0/workflow-job-run-483c4f28-a372-50a5-8f1e-a87853bba0da/artifacts/d7c6a50b5dfd8f91ed887845b410230d33bccffe26621d7c6cd9027dffb3a8a6.zip?rscd=attachment%3B+filename%3D%22duckdb-binaries-linux-amd64.zip%22&rsct=application%2Fzip&se=2026-07-11T02%3A37%3A15Z&sig=TEHThETWG8C8rS6TyYmgYCA%2BHdFrW57AHFnfpixTua0%3D&ske=2026-07-11T05%3A56%3A24Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2026-07-11T01%3A56%3A24Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-11-05&sp=r&spr=https&sr=b&st=2026-07-11T02%3A27%3A10Z&sv=2025-11-05 [following]
--2026-07-11 10:27:14--  https://productionresultssa7.blob.core.windows.net/actions-results/6f1f35d0-0cf8-415c-bd98-339c8b17fee0/workflow-job-run-483c4f28-a372-50a5-8f1e-a87853bba0da/artifacts/d7c6a50b5dfd8f91ed887845b410230d33bccffe26621d7c6cd9027dffb3a8a6.zip?rscd=attachment%3B+filename%3D%22duckdb-binaries-linux-amd64.zip%22&rsct=application%2Fzip&se=2026-07-11T02%3A37%3A15Z&sig=TEHThETWG8C8rS6TyYmgYCA%2BHdFrW57AHFnfpixTua0%3D&ske=2026-07-11T05%3A56%3A24Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2026-07-11T01%3A56%3A24Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-11-05&sp=r&spr=https&sr=b&st=2026-07-11T02%3A27%3A10Z&sv=2025-11-05
Resolving productionresultssa7.blob.core.windows.net (productionresultssa7.blob.core.windows.net)... 57.150.4.193, 57.150.84.225, 57.150.75.161
Connecting to productionresultssa7.blob.core.windows.net (productionresultssa7.blob.core.windows.net)|57.150.4.193|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 83075916 (79M), 806044 (787K) remaining [application/zip]
Saving to: 'duckdb-binaries-linux-amd64.zip'

duckdb-binaries-linux-amd64.zip              99%[+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ]  78.70M   141KB/s               ^C

把上述文件改名duckdb-binaries-linux-amd64-s.zip,在wsl中查看。

复制代码
C:\Users\lt>wsl
root@DESKTOP-59T6U68:/mnt/c/Users/lt# cd /mnt/c/d



root@DESKTOP-59T6U68:/mnt/c/d# ls -l duckdb-binaries-linux-amd64-s.zip
-rwxrwxrwx 1 root root 82563745 Jul 11 10:27 duckdb-binaries-linux-amd64-s.zip
root@DESKTOP-59T6U68:/mnt/c/d# unzip -l duckdb-binaries-linux-amd64-s.zip
Archive:  duckdb-binaries-linux-amd64-s.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.
note:  duckdb-binaries-linux-amd64-s.zip may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of duckdb-binaries-linux-amd64-s.zip or
        duckdb-binaries-linux-amd64-s.zip.zip, and cannot find duckdb-binaries-linux-amd64-s.zip.ZIP, period.

不出所料,zip文件已损坏,无法解压。

根据wget给出的新文件大小以及续追加的大小,用bc计算出原文件大小

复制代码
root@DESKTOP-59T6U68:/mnt/c/d# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
83075916-806044
82269872
root@DESKTOP-59T6U68:/mnt/c/d# split -b 82269872 duckdb-binaries-linux-amd64-s.zip
        
root@DESKTOP-59T6U68:/mnt/c/d# unzip -l duckdb-binaries-linux-amd64-260316.zip
Archive:  duckdb-binaries-linux-amd64-260316.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
 40767029  2026-03-16 01:09   libduckdb-linux-amd64.zip
 21111016  2026-03-16 01:09   duckdb_cli-linux-amd64.zip
 20988384  2026-03-16 01:09   duckdb_cli-linux-amd64.gz
---------                     -------
 82866429                     3 files

执行split -b命令,再把第一个分割文件xaa改名为duckdb-binaries-linux-amd64-260316,这样就恢复了原文件,经检验文件完全正确。xxb没有用,可以删除

相关推荐
工业一体机老司机39 分钟前
Linux工业一体机自启动服务配置:systemd服务单元编写与开机优化实战
java·linux·服务器
zhixingheyi_tian41 分钟前
Linux 之 ssh
linux·服务器·ssh
小鱼仙官1 小时前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
RisunJan1 小时前
Linux命令-vgdisplay(显示卷组详细属性)
linux·运维·数据库
深念Y2 小时前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
Escalating_xu2 小时前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
老当益壮梁奶奶2 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-2292 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习
草莓熊Lotso2 小时前
【Linux网络加餐】手动部署:SSH 与 Web 服务实战 + 底层原理全解析
linux·运维·网络·人工智能·python·langchain·ssh
CHHH_HHH2 小时前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu