How to Zip and Unzip Files in WSL2


How can we zip and unzip files in WSL2 (Windows Subsystem for Linux)?

zip and unzip#

First, we need to install the appropriate packages: zip and unzip.

sudo apt-get install zip unzip -y

zip files#

We can then zip files using the zip command.

zip zipped.zip file1.txt file2.txt

We specify the name of the zip file first, then we can list out the relative file paths to zip.

If we specify a pre-existing zip file, then this command will add to that zip.

zip folders#

zip -r zipped.zip folder_name

The -r flag is a recursive option to zip an entire directory tree at once.

unzip a file#

We can unzip a zip file using unzip.

unzip zipped.zip

tar and gzip#

If we see a .tar.gz ending, we’ll need to use tar (the tape archiver) and gzip (the GNU-Zip).

sudo apt-get install tar gzip -y

gzip files#

tar -cvzf gzipped.tar.gz file1.txt file2.txt

There are lots of flags; let’s quickly break those down.

  • -c: create an archive
  • -v: verbose logs (optional)
  • -z: compress with gzip
  • -f: archived file name

gzip folders#

Similar to zip, we can gzip folders as well by simply providing a relative path to a directory.

tar -cvzf gzipped.tar.gz folder_name

Extract a file#

tar -xvzf gzipped.tar.gz

We want to use -x instead of -c in order to extract the contents of a zipped file.