用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没有用,可以删除

相关推荐
easy_coder13 小时前
Linux LVM 知识文档
linux·运维
小小的木头人14 小时前
Ubuntu 使用 udev + systemd + UUID 实现 USB 硬盘自动挂载
linux·运维·ubuntu
kaoa00015 小时前
Linux入门攻坚——84、网络虚拟化技术-1
linux·运维·服务器
RisunJan15 小时前
Linux命令-shutdown(安全关闭或重启系统)
linux·服务器·安全
2601_9657984716 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
我头发多我先学16 小时前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式17 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
苍狗T17 小时前
LVS相关知识总结
linux·运维·服务器·lvs
广州灵眸科技有限公司17 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) rknn-toolkit-lite2使用方法
linux·运维·服务器·数据库·算法
lightqjx18 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用