Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
TAR(1)				GNU TAR	Manual				TAR(1)

       tar - an	archiving utility

   Traditional usage
       tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

   UNIX-style usage

       tar -c [-f ARCHIVE] [OPTIONS] [FILE...]

       tar -d [-f ARCHIVE] [OPTIONS] [FILE...]

       tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]

       tar -r [-f ARCHIVE] [OPTIONS] [FILE...]

       tar -u [-f ARCHIVE] [OPTIONS] [FILE...]

       tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]

   GNU-style usage
       tar {--catenate|--concatenate} [OPTIONS]	ARCHIVE	ARCHIVE

       tar --create [--file ARCHIVE] [OPTIONS] [FILE...]

       tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]

       tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]

       tar --append [-f	ARCHIVE] [OPTIONS] [FILE...]

       tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...]

       tar --test-label	[--file	ARCHIVE] [OPTIONS] [LABEL...]

       tar --update [--file ARCHIVE] [OPTIONS] [FILE...]

       tar --update [-f	ARCHIVE] [OPTIONS] [FILE...]

       tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]

       This manpage is a short description of GNU tar.	For a detailed discus-
       sion, including examples	and usage recommendations, refer  to  the  GNU
       Tar Manual available in texinfo format.	If the info reader and the tar
       documentation are properly installed on your system, the	command

	   info	tar

       should give you access to the complete manual.

       You can also view the manual using the info mode	in emacs(1),  or  find
       it in various formats online at

       If any discrepancies occur between this manpage and the GNU Tar Manual,
       the later shall be considered the authoritative source.

       GNU tar is an archiving program designed	to store multiple files	 in  a
       single file (an archive), and to	manipulate such	archives.  The archive
       can be either a regular file or a device	(e.g. a	tape drive, hence  the
       name  of	the program, which stands for tape archiver), which can	be lo-
       cated either on the local or on a remote	machine.

   Option styles
       Options to GNU tar can be given in three	different styles.   In	tradi-
       tional style, the first argument	is a cluster of	option letters and all
       subsequent arguments supply arguments to	 those	options	 that  require
       them.   The arguments are read in the same order	as the option letters.
       Any command line	words that remain after	all options has	been processed
       are treated as non-optional arguments: file or archive member names.

       For  example,  the c option requires creating the archive, the v	option
       requests	the verbose operation, and the f option	takes an argument that
       sets  the  name of the archive to operate upon.	The following command,
       written in the traditional style, instructs tar to store	all files from
       the  directory /etc into	the archive file etc.tar verbosely listing the
       files being archived:

       tar cfv etc.tar /etc

       In UNIX or short-option style, each option letter is  prefixed  with  a
       single  dash,  as  in other command line	utilities.  If an option takes
       argument, the argument follows it, either as a  separate	 command  line
       word,  or  immediately  following  the  option.	However, if the	option
       takes an	optional argument, the argument	must follow the	option	letter
       without any intervening whitespace, as in -g/tmp/snar.db.

       Any  number  of	options	not taking arguments can be clustered together
       after a single dash, e.g. -vkp.	Options	that take  arguments  (whether
       mandatory  or  optional), can appear at the end of such a cluster, e.g.
       -vkpf a.tar.

       The example command above written in the	short-option style could  look

       tar -cvf	etc.tar	/etc
       tar -c -v -f etc.tar /etc

       In GNU or long-option style, each option	begins with two	dashes and has
       a meaningful name, consisting of	lower-case letters and	dashes.	  When
       used,  the  long	option can be abbreviated to its initial letters, pro-
       vided that this does not	create ambiguity.  Arguments to	 long  options
       are  supplied  either as	a separate command line	word, immediately fol-
       lowing the option, or separated from the	option by an equals sign  with
       no intervening whitespace.  Optional arguments must always use the lat-
       ter method.

       Here are	several	ways of	writing	the example command in this style:

       tar --create --file etc.tar --verbose /etc
       or (abbreviating	some options):
       tar --cre --file=etc.tar	--verb /etc

       The options in all three	styles can be intermixed,  although  doing  so
       with old	options	is not encouraged.

   Operation mode
       The options listed in the table below tell GNU tar what operation it is
       to perform.  Exactly one	of them	must be	 given.	  Meaning  of  non-op-
       tional arguments	depends	on the operation mode requested.

       -A, --catenate, --concatenate
	      Append archive to	the end	of another archive.  The arguments are
	      treated as the names of archives to append.  All	archives  must
	      be  of the same format as	the archive they are appended to, oth-
	      erwise the resulting archive might be unusable with non-GNU  im-
	      plementations  of	 tar.  Notice also that	when more than one ar-
	      chive is given, the members from archives	other than  the	 first
	      one  will	 be  accessible	in the resulting archive only if using
	      the -i (--ignore-zeros) option.

	      Compressed archives cannot be concatenated.

       -c, --create
	      Create a new archive.  Arguments supply the names	of  the	 files
	      to  be  archived.	  Directories are archived recursively,	unless
	      the --no-recursion option	is given.

       -d, --diff, --compare
	      Find differences between archive and file	system.	 The arguments
	      are  optional  and  specify  archive members to compare.	If not
	      given, the current working directory is assumed.

	      Delete from the archive.	The arguments supply names of the  ar-
	      chive  members  to  be  removed.	 At least one argument must be

	      This option does not operate on compressed archives.   There  is
	      no short option equivalent.

       -r, --append
	      Append  files to the end of an archive.  Arguments have the same
	      meaning as for -c	(--create).

       -t, --list
	      List the contents	of an archive.	Arguments are optional.	  When
	      given, they specify the names of the members to list.

	      Test the archive volume label and	exit.  When used without argu-
	      ments, it	prints the volume label	(if any) and exits with	status
	      0.  When one or more command line	arguments are given.  tar com-
	      pares the	volume label with each argument.  It exits with	code 0
	      if  a  match  is found, and with code 1 otherwise.  No output is
	      displayed, unless	used together with the -v (--verbose) option.

	      There is no short	option equivalent for this option.

       -u, --update
	      Append files which are newer than	the corresponding copy in  the
	      archive.	 Arguments have	the same meaning as with -c and	-r op-
	      tions.  Notice, that newer files don't replace their old archive
	      copies, but instead are appended to the end of archive.  The re-
	      sulting archive can thus contain several	members	 of  the  same
	      name, corresponding to various versions of the same file.

       -x, --extract, --get
	      Extract  files  from  an archive.	 Arguments are optional.  When
	      given, they specify names	of  the	 archive  members  to  be  ex-

	      Show built-in defaults for various tar options and exit.	No ar-
	      guments are allowed.

       -?, --help
	      Display a	short option summary and exit.	No arguments allowed.

	      Display a	list of	available options and exit.  No	arguments  al-

	      Print program version and	copyright information and exit.

   Operation modifiers
	      Check  device  numbers  when  creating incremental archives (de-

       -g, --listed-incremental=FILE
	      Handle new GNU-format incremental	backups.  FILE is the name  of
	      a	 snapshot  file, where tar stores additional information which
	      is used to decide	which files changed since the previous	incre-
	      mental  dump  and,  consequently,	must be	dumped again.  If FILE
	      does not exist when creating an archive, it will be created  and
	      all  files  will	be added to the	resulting archive (the level 0
	      dump).  To create	incremental archives of	non-zero level N, cre-
	      ate  a  copy  of the snapshot file created during	the level N-1,
	      and use it as FILE.

	      When listing or extracting, the actual contents of FILE  is  not
	      inspected,  it  is  needed only due to syntactical requirements.
	      It is therefore common practice to use /dev/null in its place.

	      Use METHOD to detect holes in sparse files.  This	option implies
	      --sparse.	 Valid values for METHOD are seek and raw.  Default is
	      seek with	fallback to raw	when not applicable.

       -G, --incremental
	      Handle old GNU-format incremental	backups.

	      Do not exit with nonzero on unreadable files.

	      Set dump level for  created  listed-incremental  archive.	  Cur-
	      rently  only  --level=0 is meaningful: it	instructs tar to trun-
	      cate the snapshot	file before dumping, thereby forcing a level 0

       -n, --seek
	      Assume  the  archive is seekable.	 Normally tar determines auto-
	      matically	whether	the archive can	be seeked or not.  This	option
	      is  intended  for	 use in	cases when such	recognition fails.  It
	      takes effect only	if the archive is open for reading (e.g.  with
	      --list or	--extract options).

	      Do not check device numbers when creating	incremental archives.

	      Assume the archive is not	seekable.

	      Process  only  the  Nth  occurrence of each file in the archive.
	      This option is valid only	when used with one  of	the  following
	      subcommands:  --delete,  --diff,	--extract or --list and	when a
	      list of files is given either on the command line	or via the  -T
	      option.  The default N is	1.

	      Disable the use of some potentially harmful options.

	      Set  version  of	the  sparse  format to use (implies --sparse).
	      This option implies --sparse.  Valid argument  values  are  0.0,
	      0.1,  and	1.0.  For a detailed discussion	of sparse formats, re-
	      fer to the GNU Tar Manual, appendix D, "Sparse Formats".	 Using
	      info  reader,  it	can be accessed	running	the following command:
	      info tar 'Sparse Formats'.

       -S, --sparse
	      Handle sparse files efficiently.	Some files in the file	system
	      may have segments	which were actually never written (quite often
	      these are	database files created by such systems as DBM).	  When
	      given  this  option,  tar	 attempts  to determine	if the file is
	      sparse prior to archiving	it, and	if so, to reduce the resulting
	      archive size by not dumping empty	parts of the file.

   Overwrite control
       These options control tar actions when extracting a file	over an	exist-
       ing copy	on disk.

       -k, --keep-old-files
	      Don't replace existing files when	extracting.

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

	      Don't replace existing symlinks to directories when extracting.

	      Preserve metadata	of existing directories.

	      Extract all files	into DIR, or, if used without argument,	into a
	      subdirectory named by the	base name of the archive (minus	 stan-
	      dard compression suffixes	recognizable by	--auto-compress).

	      Overwrite	existing files when extracting.

	      Overwrite	 metadata of existing directories when extracting (de-

	      Recursively remove all files in the directory prior to  extract-
	      ing it.

	      Remove files from	disk after adding them to the archive.

	      Don't replace existing files when	extracting, silently skip over

       -U, --unlink-first
	      Remove each file prior to	extracting over	it.

       -W, --verify
	      Verify the archive after writing it.

   Output stream selection

       Ignore subprocess exit codes.

	      Treat non-zero exit codes	of children as error (default).

       -O, --to-stdout
	      Extract files to standard	output.

	      Pipe extracted files to COMMAND.	The argument is	 the  pathname
	      of  an external program, optionally with command line arguments.
	      The program will be invoked and the contents of the  file	 being
	      extracted	supplied to it on its standard input.  Additional data
	      will be supplied via the following environment variables:

		     Type of the file. It is a single letter with the  follow-
		     ing meaning:

			     f		 Regular file
			     d		 Directory
			     l		 Symbolic link
			     h		 Hard link
			     b		 Block device
			     c		 Character device

		     Currently only regular files are supported.

		     File mode,	an octal number.

		     The name of the file.

		     Name of the file as stored	in the archive.

		     Name of the file owner.

		     Name of the file owner group.

		     Time of last access. It is	a decimal number, representing
		     seconds since the Epoch.  If the archive  provides	 times
		     with  nanosecond  precision, the nanoseconds are appended
		     to	the timestamp after a decimal point.

		     Time of last modification.

		     Time of last status change.

		     Size of the file.

		     UID of the	file owner.

		     GID of the	file owner.

	      Additionally, the	following variables contain information	 about
	      tar operation mode and the archive being processed:

		     GNU tar version number.

		     The name of the archive tar is processing.

		     Current  blocking	factor,	i.e. number of 512-byte	blocks
		     in	a record.

		     Ordinal number of the volume tar is  processing  (set  if
		     reading a multi-volume archive).

		     Format  of	 the  archive  being  processed.  One of: gnu,
		     oldgnu, posix, ustar, v7.

		     A short option (with a leading dash) describing the oper-
		     ation tar is executing.

   Handling of file attributes
	      Preserve	access	times on dumped	files, either by restoring the
	      times after reading (METHOD=replace, this	is the default)	or  by
	      not setting the times in the first place (METHOD=system)

	      Delay  setting  modification  times and permissions of extracted
	      directories until	the end	of extraction.	Use this  option  when
	      extracting from an archive which has unusual member ordering.

	      Force  NAME  as  group for added files.  If GID is not supplied,
	      NAME can be either a user	name or	numeric	GID.  In this case the
	      missing  part  (GID  or  name) will be inferred from the current
	      host's group database.

	      When used	with --group-map=FILE, affects only those files	 whose
	      owner group is not listed	in FILE.

	      Read  group translation map from FILE.  Empty lines are ignored.
	      Comments are introduced with # sign and extend  to  the  end  of
	      line.   Each  non-empty  line  in	FILE defines translation for a
	      single group.  It	must consist of	two fields, delimited  by  any
	      amount of	whitespace:


	      OLDGRP  is  either  a valid group	name or	a GID prefixed with +.
	      Unless NEWGID is supplied, NEWGRP	must also be  either  a	 valid
	      group  name  or  a +GID.	Otherwise, both	NEWGRP and NEWGID need
	      not be listed in the system group	database.

	      As a result, each	input file with	owner  group  OLDGRP  will  be
	      stored in	archive	with owner group NEWGRP	and GID	NEWGID.

	      Force symbolic mode CHANGES for added files.

	      Set  mtime  for added files.  DATE-OR-FILE is either a date/time
	      in almost	arbitrary format, or the name of an existing file.  In
	      the latter case the mtime	of that	file will be used.

       -m, --touch
	      Don't extract file modified time.

	      Cancel the effect	of the prior --delay-directory-restore option.

	      Extract files as yourself	(default for ordinary users).

	      Apply  the user's	umask when extracting permissions from the ar-
	      chive (default for ordinary users).

	      Always use numbers for user/group	names.

	      Force NAME as owner for added files.  If UID  is	not  supplied,
	      NAME can be either a user	name or	numeric	UID.  In this case the
	      missing part (UID	or name) will be  inferred  from  the  current
	      host's user database.

	      When  used with --owner-map=FILE,	affects	only those files whose
	      owner is not listed in FILE.

	      Read owner translation map from FILE.  Empty lines are  ignored.
	      Comments	are  introduced	 with  # sign and extend to the	end of
	      line.  Each non-empty line in FILE  defines  translation	for  a
	      single  UID.   It	 must  consist of two fields, delimited	by any
	      amount of	whitespace:


	      OLDUSR is	either a valid user name or a  UID  prefixed  with  +.
	      Unless  NEWUID  is  supplied, NEWUSR must	also be	either a valid
	      user name	or a +UID.  Otherwise, both NEWUSR and NEWUID need not
	      be listed	in the system user database.

	      As  a  result, each input	file owned by OLDUSR will be stored in
	      archive with owner name NEWUSR and UID NEWUID.

       -p, --preserve-permissions, --same-permissions
	      extract information about	file permissions  (default  for	 supe-

	      Try  extracting  files  with the same ownership as exists	in the
	      archive (default for superuser).

       -s, --preserve-order, --same-order
	      Sort names to extract to match archive

	      When creating an archive,	sort directory	entries	 according  to
	      ORDER, which is one of none, name, or inode.

	      The  default is --sort=none, which stores	archive	members	in the
	      same order as returned by	the operating system.

	      Using --sort=name	ensures	the member ordering in the created ar-
	      chive is uniform and reproducible.

	      Using  --sort=inode  reduces  the	number of disk seeks made when
	      creating the archive and thus can	considerably speed up archiva-
	      tion.   This  sorting  order is supported	only if	the underlying
	      system provides the necessary information.

   Extended file attributes
       --acls Enable POSIX ACLs	support.

	      Disable POSIX ACLs support.

	      Enable SELinux context support.

	      Disable SELinux context support.

	      Enable extended attributes support.

	      Disable extended attributes support.

	      Specify the exclude pattern for xattr keys.  PATTERN is a	 POSIX
	      regular  expression,  e.g. --xattrs-exclude='^user.', to exclude
	      attributes from the user namespace.

	      Specify the include pattern for xattr keys.  PATTERN is a	 POSIX
	      regular expression.

   Device selection and	switching
       -f, --file=ARCHIVE
	      Use  archive  file  or  device  ARCHIVE.	 If this option	is not
	      given, tar will first examine the	environment  variable  `TAPE'.
	      If  it is	set, its value will be used as the archive name.  Oth-
	      erwise, tar will assume the compiled-in  default.	  The  default
	      value  can be inspected either using the --show-defaults option,
	      or at the	end of the tar --help output.

	      An archive name that has a colon in it specifies a file  or  de-
	      vice on a	remote machine.	 The part before the colon is taken as
	      the machine name or IP address, and the part  after  it  as  the
	      file or device pathname, e.g.:


	      An  optional username can	be prefixed to the hostname, placing a
	      @	sign between them.

	      By default, the remote host is accessed via the rsh(1)  command.
	      Nowadays	it  is common to use ssh(1) instead.  You can do so by
	      giving the following command line	option:


	      The remote machine should	have the rmt(8)	command	installed.  If
	      its  pathname  does  not match tar's default, you	can inform tar
	      about the	correct	pathname using the --rmt-command option.

	      Archive file is local even if it has a colon.

       -F, --info-script=COMMAND, --new-volume-script=COMMAND
	      Run COMMAND at the end of	each tape (implies -M).	  The  command
	      can  include arguments.  When started, it	will inherit tar's en-
	      vironment	plus the following variables:

		     GNU tar version number.

		     The name of the archive tar is processing.

		     Current blocking factor, i.e. number of  512-byte	blocks
		     in	a record.

		     Ordinal  number  of  the volume tar is processing (set if
		     reading a multi-volume archive).

		     Format of the archive  being  processed.	One  of:  gnu,
		     oldgnu, posix, ustar, v7.

		     A short option (with a leading dash) describing the oper-
		     ation tar is executing.

	      TAR_FD File descriptor which can be used to communicate the  new
		     volume name to tar.

	      If  the info script fails, tar exits; otherwise, it begins writ-
	      ing the next volume.

       -L, --tape-length=N
	      Change tape after	writing	Nx1024 bytes.  If N is followed	 by  a
	      size suffix (see the subsection Size suffixes below), the	suffix
	      specifies	the multiplicative factor to be	used instead of	1024.

	      This option implies -M.

       -M, --multi-volume
	      Create/list/extract multi-volume archive.

	      Use COMMAND instead of rmt when accessing	remote archives.   See
	      the description of the -f	option,	above.

	      Use  COMMAND instead of rsh when accessing remote	archives.  See
	      the description of the -f	option,	above.

	      When this	option is used in conjunction with --multi-volume, tar
	      will  keep track of which	volume of a multi-volume archive it is
	      working in FILE.

   Device blocking
       -b, --blocking-factor=BLOCKS
	      Set record size to BLOCKSx512 bytes.

       -B, --read-full-records
	      When listing or extracting, accept incomplete input records  af-
	      ter end-of-file marker.

       -i, --ignore-zeros
	      Ignore  zeroed  blocks  in  archive.   Normally  two consecutive
	      512-blocks filled	with zeroes mean EOF and tar stops reading af-
	      ter encountering them.  This option instructs it to read further
	      and is useful when reading archives created with the -A option.

	      Set record size.	NUMBER is the number of	bytes per record.   It
	      must  be	multiple  of  512.  It can can be suffixed with	a size
	      suffix, e.g. --record-size=10K, for 10 Kilobytes.	 See the  sub-
	      section Size suffixes, for a list	of valid suffixes.

   Archive format selection
       -H, --format=FORMAT
	      Create archive of	the given format.  Valid formats are:

	      gnu    GNU tar 1.13.x format

	      oldgnu GNU format	as per tar <= 1.12.

	      pax, posix
		     POSIX 1003.1-2001 (pax) format.

	      ustar  POSIX 1003.1-1988 (ustar) format.

	      v7     Old V7 tar	format.

       --old-archive, --portability
	      Same as --format=v7.

	      Control  pax keywords when creating PAX archives (-H pax).  This
	      option is	equivalent to the -o option of the pax(1) utility.

	      Same as --format=posix.

       -V, --label=TEXT
	      Create archive with volume name TEXT.  If	listing	or extracting,
	      use TEXT as a globbing pattern for volume	name.

   Compression options
       -a, --auto-compress
	      Use archive suffix to determine the compression program.

       -I, --use-compress-program=COMMAND
	      Filter  data through COMMAND.  It	must accept the	-d option, for
	      decompression.  The argument can contain command line options.

       -j, --bzip2
	      Filter the archive through bzip2(1).

       -J, --xz
	      Filter the archive through xz(1).

       --lzip Filter the archive through lzip(1).

       --lzma Filter the archive through lzma(1).

       --lzop Filter the archive through lzop(1).

	      Do not use archive suffix	to determine the compression program.

       -z, --gzip, --gunzip, --ungzip
	      Filter the archive through gzip(1).

       -Z, --compress, --uncompress
	      Filter the archive through compress(1).

       --zstd Filter the archive through zstd(1).

   Local file selection
	      Add FILE to the archive (useful if its name starts with a	dash).

	      Backup before removal.  The CONTROL argument, if supplied,  con-
	      trols the	backup policy.	Its valid values are:

	      none, off
		     Never make	backups.

	      t, numbered
		     Make numbered backups.

	      nil, existing
		     Make  numbered  backups if	numbered backups exist,	simple
		     backups otherwise.

	      never, simple
		     Always make simple	backups

	      If CONTROL is not	given,	the  value  is	taken  from  the  VER-
	      SION_CONTROL  environment	 variable.  If it is not set, existing
	      is assumed.

       -C, --directory=DIR
	      Change to	DIR before performing any operations.  This option  is
	      order-sensitive, i.e. it affects all options that	follow.

	      Exclude  files  matching	PATTERN, a glob(3)-style wildcard pat-

	      Exclude backup and lock files.

	      Exclude contents of directories  containing  file	 CACHEDIR.TAG,
	      except for the tag file itself.

	      Exclude  directories  containing	file CACHEDIR.TAG and the file

	      Exclude everything under directories containing CACHEDIR.TAG

	      Before dumping a directory, see if it  contains  FILE.   If  so,
	      read  exclusion  patterns	 from  this file.  The patterns	affect
	      only the directory itself.

	      Same as --exclude-ignore,	except that patterns from FILE	affect
	      both the directory and all its subdirectories.

	      Exclude contents of directories containing FILE, except for FILE

	      Exclude directories containing FILE.

	      Exclude everything under directories containing FILE.

	      Exclude version control system directories.

	      Exclude files that match patterns	read from VCS-specific	ignore
	      files.  Supported	files are: .cvsignore, .gitignore, .bzrignore,
	      and .hgignore.

       -h, --dereference
	      Follow symlinks; archive and dump	the files they point to.

	      Follow hard links; archive and dump the files they refer to.

       -K, --starting-file=MEMBER
	      Begin at the given member	in the archive.

	      Work on files whose data changed after the DATE.	If DATE	starts
	      with  /  or  .  it is taken to be	a file name; the mtime of that
	      file is used as the date.

	      Disable the effect of the	previous --null	option.

	      Avoid descending automatically in	directories.

	      Do not unquote input file	or member names.

	      Treat each line read from	a file list as if it were supplied  in
	      the  command line.  I.e.,	leading	and trailing whitespace	is re-
	      moved and, if the	resulting string begins	with  a	 dash,	it  is
	      treated as tar command line option.

	      This  is the default behavior.  The --no-verbatim-files-from op-
	      tion  is	provided  as  a	 way  to  restore  it  after  --verba-
	      tim-files-from option.

	      This  option  is positional: it affects all --files-from options
	      that occur after it in, until  --verbatim-files-from  option  or
	      end of line, whichever occurs first.

	      It is implied by the --no-null option.

       --null Instruct	subsequent  -T	options	 to read null-terminated names
	      verbatim (disables special handling of names that	start  with  a

	      See also --verbatim-files-from.

       -N, --newer=DATE, --after-date=DATE
	      Only store files newer than DATE.	 If DATE starts	with / or . it
	      is taken to be a file name; the mtime of that file  is  used  as
	      the date.

	      Stay in local file system	when creating archive.

       -P, --absolute-names
	      Don't  strip  leading  slashes from file names when creating ar-

	      Recurse into directories (default).

	      Backup before removal, override usual suffix.  Default suffix is
	      ~,  unless overridden by environment variable SIMPLE_BACKUP_SUF-

       -T, --files-from=FILE
	      Get names	to extract or create from FILE.

	      Unless specified otherwise, the FILE  must  contain  a  list  of
	      names separated by ASCII LF (i.e.	one name per line).  The names
	      read are handled the same	way as command line  arguments.	  They
	      undergo  quote  removal  and word	splitting, and any string that
	      starts with a - is handled as tar	command	line option.

	      If this behavior is undesirable, it can be turned	off using  the
	      --verbatim-files-from option.

	      The --null option	instructs tar that the names in	FILE are sepa-
	      rated by ASCII NUL character, instead of LF.  It	is  useful  if
	      the list is generated by find(1) -print0 predicate.

	      Unquote file or member names (default).

	      Treat  each  line	obtained from a	file list as a file name, even
	      if it starts with	a dash.	 File  lists  are  supplied  with  the
	      --files-from  (-T)  option.   The	 default behavior is to	handle
	      names supplied in	file lists as if they were typed in  the  com-
	      mand  line,  i.e.	 any names starting with a dash	are treated as
	      tar options.  The	--verbatim-files-from option disables this be-

	      This option affects all --files-from options that	occur after it
	      in the command line.  Its	effect is reverted by the  --no-verba-
	      tim-files-from} option.

	      This option is implied by	the --null option.

	      See also --add-file.

       -X, --exclude-from=FILE
	      Exclude files matching patterns listed in	FILE.

   File	name transformations
	      Strip NUMBER leading components from file	names on extraction.

       --transform=EXPRESSION, --xform=EXPRESSION
	      Use sed replace EXPRESSION to transform file names.

   File	name matching options
       These options affect both exclude and include patterns.

	      Patterns match file name start.

	      Ignore case.

	      Patterns match after any / (default for exclusion).

	      Case sensitive matching (default).

	      Verbatim string matching.

	      Wildcards	do not match /.

	      Use wildcards (default for exclusion).

	      Wildcards	match /	(default for exclusion).

   Informative output
	      Display progress messages	every Nth record (default 10).

	      Run ACTION on each checkpoint.

	      Only  set	 time when the file is more recent than	what was given
	      with --mtime.

	      Print file time to its full resolution.

	      Send verbose output to FILE.

       -l, --check-links
	      Print a message if not all links are dumped.

	      Disable quoting for characters from STRING.

	      Additionally quote characters from STRING.

	      Set quoting style	for file and member names.  Valid  values  for
	      STYLE  are literal, shell, shell-always, c, c-maybe, escape, lo-
	      cale, clocale.

       -R, --block-number
	      Show block number	within archive with each message.

	      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	by --strip and
	      --transform options.

	      Print total bytes	after processing the archive.	If  SIGNAL  is
	      given, print total bytes when this signal	is delivered.  Allowed
	      signals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1, and SIGUSR2.  The
	      SIG prefix can be	omitted.

       --utc  Print file modification times in UTC.

       -v, --verbose
	      Verbosely	list files processed.  Each instance of	this option on
	      the command line increases the verbosity level by	one.  The max-
	      imum  verbosity  level  is  3.  For a detailed discussion	of how
	      various verbosity	levels affect tar's output,  please  refer  to
	      GNU Tar Manual, subsection 2.5.1 "The --verbose Option".

	      Enable  or  disable warning messages identified by KEYWORD.  The
	      messages are suppressed if KEYWORD is prefixed with no- and  en-
	      abled otherwise.

	      Multiple --warning messages accumulate.

	      Keywords controlling general tar operation:

	      all    Enable all	warning	messages.  This	is the default.

	      none   Disable all warning messages.

		     "%s: file name read contains nul character"

		     "A	lone zero block	at %s"

	      Keywords applicable for tar --create:

		     "%s: contains a cache directory tag %s; %s"

		     "%s: File shrank by %s bytes; padding with	zeros"

	      xdev   "%s: file is on a different filesystem; not dumped"

		     "%s: Unknown file type; file ignored"
		     "%s: socket ignored"
		     "%s: door ignored"

		     "%s: file is unchanged; not dumped"

		     "%s: file is the archive; not dumped"

		     "%s: File removed before we read it"

		     "%s: file changed as we read it"

		     Suppresses	 warnings  about  unreadable files or directo-
		     ries. This	keyword	applies	only if	used together with the
		     --ignore-failed-read option.

	      Keywords applicable for tar --extract:

		     "%s: skipping existing file"

		     "%s: implausibly old time stamp %s"
		     "%s: time stamp %s	is %s s	in the future"

		     "Extracting contiguous files as regular files"

		     "Attempting extraction of symbolic	links as hard links"

		     "%s: Unknown file type '%c', extracted as normal file"

		     "Current %s is newer or same age"

		     "Ignoring unknown extended	header keyword '%s'"

		     Controls  verbose	description of failures	occurring when
		     trying to run alternative	decompressor  programs.	  This
		     warning  is  disabled  by	default	 (unless  --verbose is
		     used).  A common example of what you can get  when	 using
		     this warning is:

		     $ tar --warning=decompress-program	-x -f archive.Z
		     tar (child): cannot run compress: No such file or directory
		     tar (child): trying gzip

		     This  means  that tar first tried to decompress archive.Z
		     using compress, and, when that failed, switched to	gzip.

		     "Record size = %lu	blocks"

	      Keywords controlling incremental extraction:

		     "%s: Directory has	been renamed from %s"
		     "%s: Directory has	been renamed"

		     "%s: Directory is new"

	      xdev   "%s: directory is on a different device: not purging"

		     "Malformed	dumpdir: 'X' never used"

       -w, --interactive, --confirmation
	      Ask for confirmation for every action.

   Compatibility options
       -o     When creating, same as --old-archive.  When extracting, same  as

   Size	suffixes
	       Suffix	 Units			 Byte Equivalent
	       b	 Blocks			 SIZE x	512
	       B	 Kilobytes		 SIZE x	1024
	       c	 Bytes			 SIZE
	       G	 Gigabytes		 SIZE x	1024^3
	       K	 Kilobytes		 SIZE x	1024
	       k	 Kilobytes		 SIZE x	1024
	       M	 Megabytes		 SIZE x	1024^2
	       P	 Petabytes		 SIZE x	1024^5
	       T	 Terabytes		 SIZE x	1024^4
	       w	 Words			 SIZE x	2

       Tar exit	code indicates whether it was able to successfully perform the
       requested operation, and	if not,	what kind of error occurred.

       0      Successful termination.

       1      Some files differ.   If  tar  was	 invoked  with	the  --compare
	      (--diff,	-d) command line option, this means that some files in
	      the archive differ from their disk  counterparts.	  If  tar  was
	      given  one  of  the --create, --append or	--update options, this
	      exit code	 means	that  some  files  were	 changed  while	 being
	      archived and so the resulting archive does not contain the exact
	      copy of the file set.

       2      Fatal error.  This means that some  fatal,  unrecoverable	 error

       If a subprocess that had	been invoked by	tar exited with	a nonzero exit
       code, tar itself	exits with that	code as	well.  This  can  happen,  for
       example,	 if  a	compression option (e.g. -z) was used and the external
       compressor program failed.   Another  example  is  rmt  failure	during
       backup to a remote device.

       bzip2(1),  compress(1),	gzip(1), lzma(1), lzop(1), rmt(8), symlink(7),
       xz(1), zstd(1).

       Complete	tar manual: run	info tar or use	emacs(1) info mode to read it.

       Online copies of	GNU tar	documentation in various formats can be	 found

       Report bugs to <>.

       Copyright (C) 2013-2019 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.

TAR				 July 13, 2020				TAR(1)


Want to link to this manual page? Use this URL:

home | help