March 21, 2019
March 21, 2019
Zipping and unzipping files eases a lot of complicated tasks like file transfer! In this tutorial, you’ll learn how to use unzip in Linux to improve your VPS workflow!
Zip is a commonly used compression function which is portable and easy to use. You can even unzip files in Windows, that were created in Linux!
Unzip is a utility that is not available on most Linux flavors by default, but can be easily installed. By creating .zip files you can match .tar.gz file compression!
Below are a few scenarios in which you may choose to use zip files:
When you are frequently working between Windows and Unix based systems. Not only does this compress files but also is a file package utility. Works on multiple operating systems
To save bandwidth. If you have limited or restricted bandwidth, then zip can be used between two servers for file transfer
Transfers files quickly. Zip utility reduces file size, therefore reducing transfer time
Upload or download directories at a faster speed
Save disk space
Unzip password protected .zip files
Enjoy a good compression ratio
Remember, before taking advantage of Unzip on Linux, you’ll have to SSH into your VPS server.
Installing unzip is easy! With Ubuntu and Debian use the command below to install unzip:
sudo apt install unzip
Sit back and wait a minute, until the installation is finished.
To create zip files, you’ll also have to install zip. You can do this with the following command:
sudo apt-get install zip
This again is simple and can be done using below command:
sudo yum install unzip
Once the installation is complete you can check the path with the following command:
After you execute the direction in the command line, you should get an output that looks like this:
You can also confirm everything is installed properly by using the command bellow. It will give a verbose with unzip utility details.
Now that we know how to install the utility, we can start learning the basic uses of it:
The basic syntax to create a .zip file is:
zip options zipfile list_Of_files
To test this, we created two files – ExampleFile.txt and ExampleFile1.txt. We’ll compress them into sampleZipFile.zip with the following command:
zip sampleZipFile.zip ExampleFile.txt ExampleFile1.txt
The unzip command can be used without any options. This will unzip all files to the current directory. One such example is as shown below:
This by default will be unzipped in the current folder provided you have read-write access.
Once a .zip file is created, you can remove or delete files in it. So, if you want to remove ExampleFile.txt from the existing sampleZipFile.zip, then you can use the following command:
zip –d sampleZipFile.zip ExampleFile.txt
Once this command is executed, you can unzip the .zip file using:
Over here you will find that ExampleFile.txt has been removed and can’t be seen on extraction.
Once a .zip file is created, you can add a new file to an existing .zip file. Suppose a new file ExampleFile2.txt needs to be added to the already existing sampleZipFile.zip. You can do this with the command shown below:
zip –u sampleZipFile.zip ExampleFile2.txt
Now if you extract sampleZipFile.zip, you will find the new file ExampleFile2.txt added to it.
You can easily move specific files to an the zip file. That means that after adding the files, they will be deleted from their original directories. This is mostly used when you have large file or directory, but need to conserve disk space. This is done by adding the -m option. A sample of this command would be:
zip –m sampleZipFile.zip ExampleFile2.txt
The -r option is used to recursively zip files. This option will compress all the files present within a folder. An example of such command is as shown below:
zip –r sampleZipFile.zip MyDirectory
In the example, MyDirectory is a directory which has multiple files and sub-directories to be zipped.
While creating a .zip file, you can exclude unwanted files. This is done by using the -x option. Below is an example:
zip -x sampleZipFile.zip ExampleFile.txt
Here ExampleFile.txt will not be added to the sampleZipFile.zip.
In case you do not want to unzip to the current directory but want to specify a directory location, then this can also be done. Use the -d option to provide a directory path in the unzip command. An example of such command is as shown below:
unzip sampleZipFile.zip -d /usr/sampleZip/ExampleDir
If you want to unzip multiple zip files existing within your current working directory then you can use a command as shown below:
This command will unzip all the individual zip files.
By default, when we use the unzip command, the command prints list of all the files that are getting extracted. A summary of the extraction process is printed. In case you want to suppress these messages, then you can use the -q option. The command would be as shown below:
unzip -q sampleZipFile.zip
In case you want to extract all files except for one, then you can use a similar command as shown below:
unzip sampleZipFile.zip -x excludedFile.txt
Here the command will unzip all files except excludedFile.txt.
You can also prevent specific file types from getting extracted. One such example is as shown below:
unzip sampleZipFile.zip -x "*.png/*"
The above command will exclude all .png files from being extracted.
A password protected .zip file can be decompressed using the -P option. A sample of such command is as shown below:
unzip -P Password sampleZipFile.zip
In the above command, Password will be the password for the .zip file.
When you unzip the same file again in the same location where the file was extracted, by default you will encounter a message asking whether you want to overwrite the current file, overwrite all files, skip extraction for the current file, skip extraction for all files or rename current file.
The options would be as shown below:
[y]es, [n]o, [A]ll, [N]one, [r]ename
You can override these files by using the -o options. One such example is as shown below:
unzip -o sampleZipFile.zip
Caution should be taken while executing this command since this will completely overwrite the existing copies. Any changes made in the earlier copy will be overwritten.
If you have unzipped a file and made some changes but you accidentally deleted a few files, then you can use this approach to restore it! Use the -n option to skip the extraction in case a file already exists. So effectively only files which do not exist will be extracted. An example of such a command is:
unzip -n sampleZipFile.zip
The -l option will list all the files within the .zip along with the timestamp and other basic details. An example of such command is:
unzip -l sampleZipFile.zip
That’s it, you’re introduced to all the essential functions of the zip and unzip Linux utilities. Start improving your file management right now!