The most popular Unix File compression command is
gzip repalces the original file with a compressed version, which has a .gz file extension.
$ ls -l -rw-r--r-- 1 JohnDoe staff 285 May 9 13:27 README.md -rw-r--r-- 1 JohnDoe staff 6459 May 9 13:27 index.html -rw-r--r-- 1 JohnDoe staff 5341 May 9 13:27 todo.txt $ gzip README.md todo.txt index.html $ ls -l -rw-r--r-- 1 JohnDoe staff 56 May 9 13:27 README.md.gz -rw-r--r-- 1 JohnDoe staff 2626 May 9 13:27 index.html.gz -rw-r--r-- 1 JohnDoe staff 2113 May 9 13:27 todo.txt.gz
As you can see, the files have been individually compressed. Note, however, that you can't
gzip a folder.
To reverse a file back to its uncompressed form, use
gunzip. The uncompressed file will have the same permissionas and timestamp as when it was gzipped.
$ gunzip README.md index.html todo.txt -rw-r--r-- 1 JohnDoe staff 285 May 9 13:27 README.md -rw-r--r-- 1 JohnDoe staff 6459 May 9 13:27 index.html -rw-r--r-- 1 JohnDoe staff 5341 May 9 13:27 todo.txt
Note how we don't need to specify the .gz in the filename, as that is already assumed.
There are several options you can use with
gzip. Here are a list of the most common ones - be sure to check the man page for more.
Suppose you want to keep the original files, and make an extra copy for the gzipped ones. Simply pass in the
$ gzip -k README.md $ ls ... README.md README.md.gz ...
We can view the compression ratio with the
$ gzip index.html.gz $ gzip -l index.html.gz compressed uncompressed ratio uncompressed_name 2626 6459 59.3% index.html $ gzip -l README.md.gz compressed uncompressed ratio uncompressed_name 56 285 80.3% README.md
Seeing our ratio, we can tell that our README.md file must have a lot of repeated elements!
zcat is the same as using
gunzip -c. It will unzip your file and print to standard out.
$ zcat README.md.gz | less # unzipped and now you can read with less $ zless # same function as above
Make sure you don't compress an already compressed format. File types such as .mp3 and .jpeg have already been compressed, so a further compression may cause the file to become larger.
As you can tell,
gzip was not meant to compress a group of multiple files - we use the
tar command for that, which we'll see in the next lesson.
Command Line Kung Fu is packed with dozens of tips and practical real-world examples. You won't find theoretical examples in this book. The examples demonstrate how to solve actual problems. The tactics are easy to find, too. Each chapter covers a specific topic and groups related tips and examples together.$ Check price
Ever feel achy from sitting crunched up on your computer table? Try lying down with these optical glasses that allow you to work on your laptop while lying flat on your back. This is the perfect solution with those with limited mobility or those who wish to prevent neck cramps and back strains.$ Check price