When I first heard of the
tar command I was confused and could not quite understand it's use. How is that command useful in the day-to-day use of Linux and how often does it actually get used? Not to mention that it has all these flags to go alongside it, it was very confusing to me at first sight.
tar command stands for
tape archive and is used to group many files and directories into a single compressed archive. That way it can be moved from disc to disc, from machine to machine and sent over to someone else. The same command is also used to extract that archive that we create.
It is essentially a zip file.
The general syntax looks something along these lines:
tar [flags] [archive-file] [file or directory to be archived]
To put a folder into an archive (let's say in this case a folder named
folder-very creative naming) we would do the following:
tar -cvf archive.tar folder
Above we created a single file(
archive.tar) that contains the folder.
-cflag stands for
createand is used to create the tar file.
vflag stands for
verboseand displays the progress of the action.
fflag creates archive with given filename(
While experimenting with the flags and changing their order I noticed that when I used
-cfv I got an error whereas when I used
-cvf like I showed in the example, it worked.
I guessed that the order must be very important.After some research with my best friend lately(stackoverflow) I learnt that when the flags are used together , the dash in front of them is optional. However, if we use the dash we must use the flags in the accurate order otherwise it won't work.
So, we created our archive and now we want to extract it.
To extract our
archive.tar file we switch the
-c flag which is used to
create and we instead use the
-x flag which stands for
tar -xvf archive.tar
The archive we created earlier was not compressed, and most times we want to compress it as it it significantly smaller in size as it gets run through gzip .
To create an archive that is compressed we use the
-z flag which stands for
compress the tar file using gzip
tar -czvf archive.tar.gz folder
Again,If using the
- in front of the flags it's important to remember the right order.
If we type
ls -ls to see a
list with of the files we have and information about, including their size( that's what the
s stands for) then we'll notice than
archive.tar.gz is significantly smaller in size than
To extract it we then use:
tar -xzvf archive.tar.gz
We could use the
-C flag and a destination folder for where we want the files to go. That folder must exist already before this action.If we leave that flag of it'll extract the archive where ever we are .
tar -xzvf archive.tar.gz -C destination-folder
These are the absolute basics to get started with
Thanks for reading 😃