Linux tar Command and How To Tar A Directory
Old days of Unix to make backups into tape archives tar utility was used. The days past and linux become popular in UNIX world. But the popularity of tar is never ended. tar is used compress and extract files. We will look usage examples of tar in this tutorial. Tar command is similar to the Windows zip. We can call this for Linux zip folder. There are alternative ways to compress files but we will look tar linux.
Create Archive with Linux tar
Generally used to make multiple files and directories one file. We will tar a directory
$ tar cvf dymerge.tar dymerge
- c for compress but actually it is not compressed
- v for verbosity to see what happens
- f for archive file name
- dymerge.tar is new tar file name
- dymerge is the source directory name
Compress While Archiving
We can compress archived with with z parameter. z is used to gzip format
$ tar cvfz dymerge.tar.gz dymerge
- z is for gzip compression other options are default for our usage
To compress with bzip2 j parameter should be provided.
List Files in Tar Archive
We can list files without opening the tar. t parameter is used to list. But if the archive is gzip we should provide z too. As we see tar.gz is extension for tarred and gzipped files.
$ tar tvfz dymerge.tar.gz
- t list files
- z archive is gzip format
If the archive is bzip2 we can use following command
$ tar tvfj dymerge.tar.gz
Extract Single File From Archive
With tar a single file can be extracted from archive. x is the parameter to be used for this operation
$ tar xvfz dymerge.tar.gz dymerge/surnames.txt
- dymerge.tar.gz is our archive that contains our single file
- dymerge/surnames.txt is the file we want to extract
Extract Multiple Files From Archive with tar
We can extract multiple files with tar. We need too provide –wildcards parameter and related files for this. Here * is used for globing
$ tar xvfz dymerge.tar.gz --wildcards *.txt
- –wildcards is the parameter
- *.txt is the file names we want to exract
We can create some alias to create new untar command like below.
$ export alias untar="tar dvf $1"
Adding File into Archive
We can append file into existing archive with r option.
$ tar rvfz dymerge.tar.gz test.txt
- We append test.txt file with r option
- We can add directories too
Estimate Archive Size
It can be found a archive file size before creation.
$ tar -cf - dymerge | wc -c