English Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh
Digg: TheServerAdmin Facebook: pages/The-Server-Admin/178309771625?v=wall&ref=search Twitter: TheServerAdmi YouTube: TheServerAdmin External Link: www.the-server-admin.blogspot.com/
None

You are not logged in.

You are not logged in.


tar and zip command on Linux PDF Print E-mail
Commands - Linux Commands
Written by Marcus Lee Beach   
Wednesday, 19 August 2009 22:46

Using Tar to Zip and Unzip Files

I keep hearing the question “how do I use the tar command?” in the forum boards, so here is how I use it:

To archive all txt files in a folder, use the following command:

tar cvzf archive.tgz *.txt

To extract the contents of a tar file use:

tar xvzf archive.tgz

If you have a tar.zip use:

tar xfv *.zip.tar


Using Tar to Zip and Unzip Files

I keep hearing the question “how do I use the tar command?” in the forum boards, so here is how I use it:

To archive all txt files in a folder, use the following command:

tar cvzf archive.tgz *.txt

To extract the contents of a tar file use:

tar xvzf archive.tgz

If you have a tar.zip use:

tar xfv *.zip.tar

tar xfv *.zip.tar


With OpenSuse, if you do a “man tar” you get the following documentation:

Linuxbox:~#man tar


TAR(1) User Commands TAR(1)


NAME

tar - The GNU version of the tar archiving utility


SYNOPSIS

tar [OPTION...] [FILE]...


DESCRIPTION

GNU `tar' saves many files together into a single tape or disk archive,

and can restore individual files from the archive.


EXAMPLES

tar -cf archive.tar foo bar

# Create archive.tar from files foo and bar.


tar -tvf archive.tar

# List all files in archive.tar verbosely.


tar -xf archive.tar

# Extract all files from archive.tar.


Main operation mode:


-A, --catenate, --concatenate

append tar files to an archive


-c, --create

create a new archive


-d, --diff, --compare

find differences between archive and file system


--delete

delete from the archive (not on mag tapes!)


-r, --append

append files to the end of an archive


-t, --list

list the contents of an archive


--test-label

test the archive volume label and exit


-u, --update

only append files newer than copy in archive


-x, --extract, --get

extract files from an archive


Operation modifiers:


--check-device

check device numbers when creating incremental archives

(default)


-g, --listed-incremental=FILE

handle new GNU-format incremental backup


-G, --incremental

handle old GNU-format incremental backup


--ignore-failed-read

do not exit with nonzero on unreadable files


-n, --seek

archive is seekable


--no-check-device

do not check device numbers when creating incremental archives


--occurrence[=NUMBER]

process only the NUMBERth occurrence of each file in the

archive; this option is valid only in conjunction with one of

the subcommands --delete, --diff, --extract or --list and when a

list of files is given either on the command line or via the -T

option; NUMBER defaults to 1


--sparse-version=MAJOR[.MINOR]

set version of the sparse format to use (implies --sparse)


-S, --sparse

handle sparse files efficiently


Overwrite control:


-k, --keep-old-files

don't replace existing files when extracting


--keep-newer-files

don't replace existing files that are newer than their archive

copies


--no-overwrite-dir

preserve metadata of existing directories


--overwrite

overwrite existing files when extracting


--overwrite-dir

overwrite metadata of existing directories when extracting

(default)


--recursive-unlink

empty hierarchies prior to extracting directory


--remove-files

remove files after adding them to the archive


-U, --unlink-first

remove each file prior to extracting over it


-W, --verify

attempt to verify the archive after writing it


Select output stream:


--ignore-command-error ignore exit codes of children


--no-ignore-command-error

treat non-zero exit codes of children as error


-O, --to-stdout

extract files to standard output


--to-command=COMMAND

pipe extracted files to another program


Handling of file attributes:


--atime-preserve[=METHOD]

preserve access times on dumped files, either by restoring the

times after reading (METHOD='replace'; default) or by not

setting the times in the first place (METHOD='system')


--delay-directory-restore

delay setting modification times and permissions of extracted

directories until the end of extraction


--group=NAME

force NAME as group for added files


--mode=CHANGES

force (symbolic) mode CHANGES for added files


--mtime=DATE-OR-FILE

set mtime for added files from DATE-OR-FILE


-m, --touch

don't extract file modified time


--no-delay-directory-restore

cancel the effect of --delay-directory-restore option


--no-same-owner

extract files as yourself


--no-same-permissions

apply the user's umask when extracting permissions from the

archive (default for ordinary users)


--numeric-owner

always use numbers for user/group names


--owner=NAME

force NAME as owner for added files


-p, --preserve-permissions, --same-permissions

extract information about file permissions (default for supe-

ruser)


--preserve

same as both -p and -s


--same-owner

try extracting files with the same ownership


-s, --preserve-order, --same-order

sort names to extract to match archive


Device selection and switching:


-f, --file=ARCHIVE

use archive file or device ARCHIVE


--force-local

archive file is local even if it has a colon


-F, --info-script=NAME, --new-volume-script=NAME

run script at end of each tape (implies -M)


-L, --tape-length=NUMBER

change tape after writing NUMBER x 1024 bytes


-M, --multi-volume

create/list/extract multi-volume archive


--rmt-command=COMMAND

use given rmt COMMAND instead of rmt


--rsh-command=COMMAND

use remote COMMAND instead of rsh


--volno-file=FILE

use/update the volume number in FILE


Device blocking:


-b, --blocking-factor=BLOCKS

BLOCKS x 512 bytes per record


-B, --read-full-records

reblock as we read (for 4.2BSD pipes)


-i, --ignore-zeros

ignore zeroed blocks in archive (means EOF)


--record-size=NUMBER

NUMBER of bytes per record, multiple of 512


Archive format selection:


-H, --format=FORMAT

create archive of the given format


FORMAT is one of the following:


gnu GNU tar 1.13.x format


oldgnu GNU format as per tar <= 1.12


pax POSIX 1003.1-2001 (pax) format


posix same as pax


ustar POSIX 1003.1-1988 (ustar) format


v7 old V7 tar format


--old-archive, --portability

same as --format=v7


--pax-option=keyword[[:]=value][,keyword[[:]=value]]...

control pax keywords


--posix

same as --format=posix


-V, --label=TEXT

create archive with volume name TEXT; at list/extract time, use

TEXT as a globbing pattern for volume name


Compression options:


-a, --auto-compress

use archive suffix to determine the compression program


-j, --bzip2

filter the archive through bzip2


--lzma filter the archive through lzma


--use-compress-program=PROG

filter through PROG (must accept -d)


-z, --gzip, --gunzip, --ungzip

filter the archive through gzip


-Z, --compress, --uncompress

filter the archive through compress


Local file selection:


--add-file=FILE

add given FILE to the archive (useful if its name starts with a

dash)


--backup[=CONTROL]

backup before removal, choose version CONTROL


-C, --directory=DIR

change to directory DIR


--exclude=PATTERN

exclude files, given as a PATTERN


--exclude-caches

exclude contents of directories containing CACHEDIR.TAG, except

for the tag file itself


--exclude-caches-all

exclude directories containing CACHEDIR.TAG


--exclude-caches-under exclude everything under directories containing

CACHEDIR.TAG


--exclude-tag=FILE

exclude contents of directories containing FILE, except for FILE

itself


--exclude-tag-all=FILE exclude directories containing FILE


--exclude-tag-under=FILE

exclude everything under directories containing FILE


--exclude-vcs

exclude version control system directories


-h, --dereference

follow symlinks; archive and dump the files they point to


--hard-dereference

follow hard links; archive and dump the files they refer to


-K, --starting-file=MEMBER-NAME

begin at member MEMBER-NAME in the archive


--newer-mtime=DATE

compare date and time when data changed only


--no-recursion

avoid descending automatically in directories


--no-unquote

do not unquote filenames read with -T


--null -T reads null-terminated names, disable -C


-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE

only store files newer than DATE-OR-FILE


--one-file-system

stay in local file system when creating archive


-P, --absolute-names

don't strip leading `/'s from file names


--recursion

recurse into directories (default)


--suffix=STRING

backup before removal, override usual suffix ('~' unless over-

ridden by environment variable SIMPLE_BACKUP_SUFFIX)


-T, --files-from=FILE

get names to extract or create from FILE


--unquote

unquote filenames read with -T (default)


-X, --exclude-from=FILE

exclude patterns listed in FILE


File name transformations:


--strip-components=NUMBER

strip NUMBER leading components from file names on extraction


--transform=EXPRESSION use sed replace EXPRESSION to transform file

names


File name matching options (affect both exclude and include pat-

terns):


--anchored

patterns match file name start


--ignore-case

ignore case


--no-anchored

patterns match after any `/' (default for exclusion)


--no-ignore-case

case sensitive matching (default)


--no-wildcards

verbatim string matching


--no-wildcards-match-slash

wildcards do not match `/'


--wildcards

use wildcards (default for exclusion)


--wildcards-match-slash

wildcards match `/' (default for exclusion)


Informative output:


--checkpoint[=NUMBER]

display progress messages every NUMBERth record (default 10)


--checkpoint-action=ACTION

execute ACTION on each checkpoint


--index-file=FILE

send verbose output to FILE


-l, --check-links

print a message if not all links are dumped


--no-quote-chars=STRING

disable quoting for characters from STRING


--quote-chars=STRING

additionally quote characters from STRING


--quoting-style=STYLE

set name quoting style; see below for valid STYLE values


-R, --block-number

show block number within archive with each message


--show-defaults

show tar defaults


--show-omitted-dirs

when listing or extracting, list each directory that does not

match search criteria


--show-transformed-names, --show-stored-names

show file or archive names after transformation


--totals[=SIGNAL]

print total bytes after processing the archive; with an argument

- print total bytes when this SIGNAL is delivered; Allowed sig-

nals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the

names without SIG prefix are also accepted


--utc print file modification dates in UTC


-v, --verbose

verbosely list files processed


-w, --interactive, --confirmation

ask for confirmation for every action


Compatibility options:


-o when creating, same as --old-archive; when extracting, same as

--no-same-owner


Other options:


-?, --help

give this help list


--restrict

disable use of some potentially harmful options


--usage

give a short usage message


--version

print program version


Mandatory or optional arguments to long options are also mandatory or

optional for any corresponding short options.


The backup suffix is `~', unless set with --suffix or SIM-

PLE_BACKUP_SUFFIX. The version control may be set with --backup or

VERSION_CONTROL, values are:


none, off

never make backups


t, numbered

make numbered backups


nil, existing

numbered if numbered backups exist, simple otherwise


never, simple

always make simple backups


Valid arguments for --quoting-style options are:


literal shell shell-always c c-maybe escape locale clocale


*This* tar defaults to: --format=gnu -f- -b20 --quoting-style=escape

--rmt-command=/usr/libexec/rmt --rsh-command=/usr/bin/rsh


AUTHOR

Written by John Gilmore and Jay Fenlason.


REPORTING BUGS

Report bugs to .


COPYRIGHT

Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU

GPL version 3 or later

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.


SEE ALSO

The full documentation for tar is maintained as a Texinfo manual. If

the info and tar programs are properly installed at your site, the com-

mand


info tar


should give you access to the complete manual.


Last Updated on Sunday, 31 January 2010 12:15