Fix Corrupted Zip Files in Linux [Quick Tip]

It’s been a long time since I have talked about Linux, so here is something to get started again. This post talks about a common problem, Corrupted Zip Filewhich people face while downloading zip files from the Internet.

Not all the zip files can be recovered but using a few simple commands, you can try and recover the content without having to re-download the file again.

You can easily repair repairablezip files downloaded on Linux by issuing the following command;

zip F

Issuing this command will tell the zip command to try to fix the zipfile if necessary. You can also issue the following command to make it the zip command work more harder on fixing the zip file.

zip FF

I initially used this command as a patch to a shell script that read contents from a zip file, that was uploaded by a wizard, the patch was put in for zip files which were corrupted when uploaded over slower Internet connections.

Here is a part of the shell script for the geeks and power users reading Techie Buzz.

   1: unzip -tqqq $x >> /dev/null;
   2:     if [ $? -ne 0 ]; then
   3:       #Run Recovery mode first - do not remove this code - kd
   4:       zip -FF $x;
   5:       unzip -tqqq $x >> /dev/null;
   6:       if [ $? -ne 0 ]; then
   7:         echo "Could not unzip $x. Renaming it to BADZIP-$x";
   8:         mv $x BADZIP-$x;
   9:         continue;
  10:       fi
  11:     fi

Enjoy and look forward to more Linux Tips.

Technorati Tags: Linux Tips,Recover Zip Files,Linux Zip Files,Corrupted Zip Files,Zip Files

Published by

Keith Dsouza

I am the editor-in-chief and owner of Techie Buzz. I love coding and have contributed to several open source projects in the past. You can know more about me and my projects by visiting my Personal Website.I am also a social networking enthusiast and can be found active on twitter, you can follow Keith on twitter @keithdsouza. You can click on my name to visit my Google+ profile.

  • gud tip, keep them coming more.

  • Raj

    Nice Tip.


  • So, what do you suggest if zip -FF still doesn't file the problem:

    [[email protected] cng258]# zip -FF –out
    Fix archive (-FF) – salvage what can
    Found end record (EOCDR) – says expect single disk archive
    Scanning for entries…
    copying: tyson&orc.jpg (48494 bytes)
    Central Directory found…
    EOCDR found ( 1 48596)…
    [[email protected] cng258]# unzip
    [] tyson&orc.jpg password:
    replace tyson&orc.jpg? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
    inflating: tyson&orc.jpg
    error: invalid compressed data to inflate


  • Chatty

    Thanks, It certainly worked for me

  • spiriad

    good 2 no

  • Thanks for the script. This is great for looping over large collections.