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

相关推荐
辉灰笔记2 小时前
MySQL8 意外关机/误移data目录导致服务启动失败 PID报错/权限报错 修复文档
linux·数据库·mysql·centos
ylscode4 小时前
CVE-2026-31694 漏洞深度分析:Linux 内核 FUSE 组件存在本地提权风险,普通用户可直取 root 权限
linux·运维·服务器
无足鸟ICT5 小时前
【RHCA+】bash命令
linux·开发语言·bash
weixin_307779135 小时前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化
小生不才yz5 小时前
Shell脚本精读 · S14-02 | 脚本模板:从 20 行工具到可维护项目
linux
x-cmd5 小时前
Linus 9 年前说「模糊测试有效」——今天已成 OSS-Fuzz 时代铁律
linux·ai·rust·开源·自动化·agent·安全性测试
六点_dn6 小时前
Linux学习笔记-chmod命令
linux·笔记·学习
编程令我快乐7 小时前
windows单次传linux文件太大
linux·运维·服务器
AOwhisky7 小时前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python