How to zip or compress a folder or directory in Linux
In Linux or similar Operating Systems, zip utility is used to package and compress (archive) files.
Let us get straight to action, we have a folder to compress with zip tool –
12345678910111213141516 daniel@hidmo:
/tmp/tutorial
$ tree .
.
??? zip-tutorial
??? chapter-1
? ??? content
??? chapter-2
? ??? readme
??? zip.txt
daniel@hidmo:
/tmp/tutorial
$ zip -r tutorial.zip zip-tutorial/
adding: zip-tutorial/ (stored 0%)
adding: zip-tutorial
/zip
.txt (deflated 55%)
adding: zip-tutorial
/chapter-2/
(stored 0%)
adding: zip-tutorial
/chapter-2/readme
(deflated 55%)
adding: zip-tutorial
/chapter-1/
(stored 0%)
adding: zip-tutorial
/chapter-1/content
(deflated 57%)
Basically we use “zip -r DESTINATION-FILE.ZIP FOLDER-TO-COMPRESS” to compress directory. Or in short “zip -r DESTINATION-FILE DIRECTORY-TO-COMPRESS“, we can skip the .zip extension.
1234567 daniel@hidmo:
/tmp/tutorial
$ zip -r tutorial zip-tutorial/
updating: zip-tutorial/ (stored 0%)
adding: zip-tutorial
/zip
.txt (deflated 55%)
adding: zip-tutorial
/chapter-2/
(stored 0%)
adding: zip-tutorial
/chapter-2/readme
(deflated 55%)
adding: zip-tutorial
/chapter-1/
(stored 0%)
adding: zip-tutorial
/chapter-1/content
(deflated 57%)
To view the contents of the compressed folder without uncompressing it –
123456789101112 daniel@hidmo:
/tmp/tutorial
$ unzip -l tutorial.zip
Archive: tutorial.zip
Length Date Time Name
--------- ---------- ----- ----
0 2019-10-07 21:45 zip-tutorial/
1202 2019-10-07 21:45 zip-tutorial
/zip
.txt
0 2019-10-07 21:45 zip-tutorial
/chapter-2/
1202 2019-10-07 21:45 zip-tutorial
/chapter-2/readme
0 2019-10-07 21:44 zip-tutorial
/chapter-1/
722 2019-10-07 21:44 zip-tutorial
/chapter-1/content
--------- -------
3126 6 files
References –
https://linux.die.net/man/1/zip
https://superuser.com/questions/216617/view-list-of-files-in-zip-archive-on-linux