With the tar command, you can also create compressed archive files. In unix or linux operating system, there are many other commands like gzip and gunzip for creating and extracting archive files. Here we will see the important tar command examples in unix and linux systems which are used frequently in our daily work.
The syntax of tar command is
tar [options] [Archive file] [files list]
The options of tar command are:
c : creates a tar file.
v : verbose. Displays the files information.
f : Specify the tar file name.
r : updates the tar file with new files.
x : Extracts files from the archive (tar file).
t : view contents of tar file.
z : Specify the tar command to create a tar file using gzip in unix.
j : uses bzip2 to create the tar file.
Tar Command Examples:
1. Creating a tar file
Let see a sample example by archiving all the files in my current directory. The ls -l command displays the files and directories in the current directory.
> ls -l
drwxr-xr-x 2 user group 4096 Aug 8 03:23 debian
-rw-r--r-- 1 user group 174 Aug 2 23:39 file
-rw-r--r-- 1 user group 0 Aug 8 03:22 linux_server.bat
-rw-r--r-- 1 user group 76 Aug 2 02:21 test.sh
-rw-r--r-- 1 user group 0 Aug 8 03:22 unix_distro
We see how to tar all these files using the -c option with the tar command. This is shown below:
> tar -cvf archive.tar *
debian/
file
linux_server.bat
test.sh
unix_distro
> ls
archive.tar debian file linux_server.bat test.sh unix_distro
Observe the output of ls command and see the archive.tar file is created.
2. Printing the contents of tar file
We have created the tar file and we dont know whether it contains the actual files or not. To view the contents of the tar file use the -t option as
> tar -tvf archive.tar
drwxr-xr-x user/group 0 2012-08-08 03:23:07 debian/
-rw-r--r-- user/group 174 2012-08-02 23:39:51 file
-rw-r--r-- user/group 0 2012-08-08 03:22:19 linux_server.bat
-rw-r--r-- user/group 76 2012-08-02 02:21:32 test.sh
-rw-r--r-- user/group 0 2012-08-08 03:22:09 unix_distro
3. Updating the tar file with new contents.
You can add new files to the existing archive (tar) file using the -r option.
>touch red-hat-linux.dat
>tar -rvf archive.tar red-hat-linux.dat
red-hat-linux.dat
>tar -tvf archive.tar
drwxr-xr-x pcenter/pcenter 0 2012-08-08 03:23:07 debian/
-rw-r--r-- pcenter/pcenter 174 2012-08-02 23:39:51 file
-rw-r--r-- pcenter/pcenter 0 2012-08-08 03:22:19 linux_server.bat
-rw-r--r-- pcenter/pcenter 76 2012-08-02 02:21:32 test.sh
-rw-r--r-- pcenter/pcenter 0 2012-08-08 03:22:09 unix_distro
-rw-r--r-- pcenter/pcenter 0 2012-08-08 04:00:00 red-hat-linux.dat
Here the touch command creates a new file. The first tar command adds the new file to the existing archive file. The second command displays the contents of the tar file.
4. Extracting the contents of tar file
In the first example, we have created the archive file. Now we will see how to extract the set of files from the archive. To extract the contents of the tar file use the -x option.
> tar -xvf archive.tar
debian/
file
linux_server.bat
test.sh
unix_distro
5. Creating compressed tar file
So far we have created a uncompressed tar file in the above examples. We can create a compressed tar file using the gzip or bzip2.
Compressing files using gzip
> tar -zcvf new_tar_file.tar.gz *
Compressing files using bzip2
> tar -jcvf new_tar_file.tar.bz2 *
To extract or to view the files in a compressed tar file use the appropriate compression option (z or j).
To view files in a gzip compressed tar file
> tar -ztvf new_tar_file.tar.gz
To extract files from a gip compressed tar file
> tar -zxvf new_tar_file.tar.gz
To view files in a bzip2 compressed tar file
> tar -jtvf new_tar_file.tar.bz2
To extract files from a bzip2 compressed tar file
> tar -jxvf new_tar_file.tar.bz2
6. Creating tar file with specified list of files
You can specify a list of files to be included in the newly created tar file.
> tar -cvf unix_files.tar unix_server.bat unix_system.dat
Here the tar command creates the unix_files.tar file which contains only the files unix_server.bat and unix_system.dat
7. Extracting specific files from the tar
You can extract a specific file or a set of files from the archived file.
To extract a specifi file
> tar -xvf unix_files.tar unix_server.bat
To extract all files that start with name unix
> tar -xvf unix_files.tar --wildcards "unix*"
8. Extracting files from multiple archive files.
To extract the files from multiple archive files use the -M option with each -f option. This is shown below:
> tar -xv -Mf archive.tar -Mf unix_files.tar
0 comments:
Post a Comment