You need to use the tar command to create an archive (also known as tar ball) under Linux operating systems. The tar command can create and manipulate archive files. It can even extract files from zip, ar, cpio, shar, ISO 9660 cdrom images, pax and other archives.
What is an archive?
An archive is nothing but you bundle (put) many files together into a single file on a single tape or disk. You can restore individual files from the archive on any Unix-like systems.
Linux tar command syntax
The syntax is as follows to create a tar file:
tar -cvf output.tar /dirname |
OR
tar -cvf output.tar /dirname1 /dirname2 filename1 filename2 |
OR
tar -cvf output.tar /home/vivek/data /home/vivek/pictures /home/vivek/file.txt |
OR
tar -cvf /tmp/output.tar /home/vivek/data /home/vivek/pictures /home/vivek/file.txt |
Where,
- -c : Create a tar ball.
- -v : Verbose output (show progress).
- -f : Output tar ball archive file name.
- -x : Extract all files from archive.tar.
- -t : Display the contents (file list) of an archive.
Linux tar Command Examples
Create a tar ball called /tmp/data.tar for /home/vivek/data directory, enter:
tar -cvf /tmp/data.tar /home/vivek/data |
To View a Tar Ball Contains (list file inside a tar ball)
Type the following command:
tar -tvf /tmp/data.tar |
To Extract a Tar Ball
Type the following command to extract /tmp/data.tar in a current directory, enter:
tar -xvf /tmp/data.tar |
Type the following command to extract resume.pdf file from an archive called data-backup.tar in a current directory, enter:
tar -xvf data-backup.tar resume.pdf |
Type the following command to extract pic1.jpg, file1.doc, and foo.mov files from an archive called data-backup.tar in a current directory, enter:
tar -xvf data-backup.tar pic1.jpg file1.doc foo.movf |
Type the following command to extract /tmp/data.tar in a directory called /home/sales/data, enter:
tar -xvf /tmp/data.tar -C /home/sales/data |
How To Backup Files To a Tape Device /dev/st0?
You need to use the combination of mt and tar command to control magnetic tape drive operation.
## Backup /home/ directories to a tape drive called /dev/st0 tar -czf /dev/st0 /home/ |
See our previous tutorial “Linux Tape Backup With mt And tar Command Howto” for more information. I also suggest that you read tar(1) for all other syntax and options.
# Additional correction by Khaled Z; Editing by VG – log #



9 comment
To View a Tar Ball Contains (list file inside a tar ball)
Type the following command:
tar -ctvf /tmp/data.ta
This should be tar -tvf /tmp/data.tar
Thanks for the heads up!
Dear all,
I have problem when creating tar file. I want to zip file in /srv/backup/
tar -czf /mnt/myfile.tar.gz /srv/backup/
but i got error” tar: Removing leading `/’ from member names”
Thanks
use -P option with -czf , then you will not have this error.
#tar -Pczf /mnt/myfile.tar.gz /srv/backup/
-P option can be used to create a tar archive without stripping leading ‘/’s from member names . It will not change member names now and use absolute names.
How To restore Files from a Tape Device /dev/nst0?
I entered a command like the following:
#tar -tvf /dev/nst0 xorg.conf
But it couldn’t……
Please help me how can I extract it? Thanks.
It came out to be a life saver :) Thanks.
Here is another tar error, researching the multi volume tar, but I do not work for me
http://www.gnu.org/software/tar/manual/html_node/Multi_002dVolume-Archives.html
$ vim new-volume.sh
#! /bin/bash
# For this script it’s advisable to use a shell, such as Bash,
# that supports a TAR_FD value greater than 9.
echo Preparing volume $TAR_VOLUME of $TAR_ARCHIVE.
name=`expr $TAR_ARCHIVE : ‘\(.*\)-.*’`
case $TAR_SUBCOMMAND in
-c) ;;
-d|-x|-t) test -r ${name:-$TAR_ARCHIVE}-$TAR_VOLUME || exit 1
;;
*) exit 1
esac
echo ${name:-$TAR_ARCHIVE}-$TAR_VOLUME >&$TAR_FD
$ chmod 755 new-volume.sh
$ tar -c -L650M -f cd-disk.tar -F new-volume Videos
tar: new-volume: Cannot exec: No such file or directory
tar: Error is not recoverable: exiting now
tar: ‘new-volume’ command failed
tar: Error is not recoverable: exiting now
This creates the first tar file named cd-disk.tar 650 MB correctly, but then throws an error and not continuous creaando the multivolume.
Some clue?, Thanks.
I finally found much help the solution to my problem and I want to share here:
I had a problem with the script name, Someone suggested “try new-volume.sh instead of new-volume” and then, worked well, I show a successful example:
$ tar -c -L650M -f cdromdisk.tar -F ‘./new-volume.sh’ -C ~/Videos .
Preparing volume 2 of cdromdisk.tar.
Preparing volume 3 of cdromdisk.tar-2.
Preparing volume 4 of cdromdisk.tar-3.
Verifying…
$ ls -1
cdromdisk.tar
cdromdisk.tar-2
cdromdisk.tar-3
cdromdisk.tar-4
new-volume.sh
Verifying extraction
$ tar -x -f ../../backup/cdromdisk.tar -F ‘./new-volume.sh’ .
Preparing volume 2 of ../../backup/cdromdisk.tar.
Preparing volume 3 of ../../backup/cdromdisk.tar-2.
Preparing volume 4 of ../../backup/cdromdisk.tar-3.
Verifying, number and size of files, etc …
$ ls -1
new-volume.sh
Video (2008) [1080p]
Videos Flisol
Solved, very thanks to @raghuu.
Fuente: How to Create Tar multi-volume by using the automatic rename script provided in the manual of GNU Tar? – Linux – LinuxSay – A Discussion Forum for Linux Enthusiasts
http://linuxsay.com/t/how-to-create-tar-multi-volume-by-using-the-automatic-rename-script-provided-in-the-manual-of-gnu-tar/2862/2
Fecha de consulta: mar 10 may 2016 01:02:48 VET
In my experience “tarball” describes a compressed “tar”. You need to add z to the command options to use zip to compress your tar into a tarball. (f has to be the last option prior to the filename argument.)
What you have described here is a tar, not a tarball.