tar

```
[linuxstudy@xxxx ~]$ tar cvzf aaa.tar.gz aaa.txt file.txt
aaa.txt
file.txt
[linuxstudy@xxxx ~]$ tar tvzf aaa.tar.gz 
-rw-rw-r-- linuxstudy/linuxstudy 45 2024-01-18 19:44 aaa.txt
-rw-rw-r-- linuxstudy/linuxstudy 28 2023-08-03 11:58 file.txt
```
```
[linuxstudy@xxxx ~]$ tar -tvf firefox-99.0b8.tar | head -10
-rwxr-xr-x 0/0          334904 2022-03-25 05:24 firefox/libipcclientcerts.so
-rw-r--r-- 0/0             426 2022-03-25 05:23 firefox/defaults/pref/channel-prefs.js
-rw-r--r-- 0/0               0 2022-03-25 05:24 firefox/removed-files
-rwxr-xr-x 0/0           43200 2022-03-25 05:24 firefox/liblgpllibs.so
-rwxr-xr-x 0/0         3849656 2022-03-25 05:24 firefox/libmozavcodec.so
-rw-r--r-- 0/0             161 2022-03-25 05:23 firefox/platform.ini
-rwxr-xr-x 0/0          223024 2022-03-25 05:24 firefox/libnspr4.so
-rwxr-xr-x 0/0          228136 2022-03-25 05:24 firefox/libmozavutil.so
-rwxr-xr-x 0/0           97528 2022-03-25 05:24 firefox/updater
-rw-r--r-- 0/0            1449 2022-03-25 05:29 firefox/gmp-clearkey/0.1/libclearkey.so.sig
```
```
TAR(1)                           User Commands                          TAR(1)



NAME
       tar - manual page for tar 1.26

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.

       Note that this manual page contains just  very  brief  description  (or
       more like a list of possible functionality) originally generated by the
       help2man utility.  The full documentation for tar is  maintained  as  a
       Texinfo manual.  If the info and tar programs are properly installed at
       your site, the command `info tar' should give you access  to  the  com‐
       plete manual.

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.

DEFAULTS
       *This* tar installation defaults to:

       --format=gnu  -f-  -b20  --quoting-style=escape --rmt-command=/sbin/rmt
       --rsh-command=/usr/bin/rsh

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

Common options:
       -C, --directory=DIR
              change to directory DIR

       -f, --file=ARCHIVE
              use archive file or device ARCHIVE

       -j, --bzip2
              filter the archive through bzip2

        -J, --xz
              filter the archive through xz

       -p, --preserve-permissions
              extract  information  about  file permissions (default for supe‐
              ruser)

       -v, --verbose
              verbosely list files processed

       -z, --gzip
              filter the archive through gzip


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

       --level=NUMBER
              dump level for created listed-incremental archive

       -n, --seek
              archive is seekable

       --no-check-device
              do not check device numbers when creating incremental archives

       --no-seek
              archive is not seekable

       --occurrence[=NUMBER]
              process only the NUMBERth occurrence of each  file  in  the  ar‐
              chive;  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,  treat  them  as
              errors

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

       --keep-directory-symlink
              Don't replace existing symlinks to directories when extracting.

       --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

       --skip-old-files
              don't replace existing files when extracting, silently skip over
              them

       -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 set‐
              ting 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 (default for ordinary users)

       --no-same-permissions
              apply  the user's umask when extracting permissions from the ar‐
              chive (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 as exists in the
              archive (default for superuser)

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

Handling of extended file attributes:
       --acls Enable the POSIX ACLs support

       --no-acls
              Disable the POSIX ACLs support

       --no-selinux
              Disable the SELinux context support

       --no-xattrs
              Disable extended attributes support

       --selinux
              Enable the SELinux context support

       --xattrs
              Enable extended attributes support

       --xattrs-exclude=MASK
              specify the exclude pattern for xattr keys

       --xattrs-include=MASK
              specify the include pattern for xattr keys

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

       -I, --use-compress-program=PROG
              filter through PROG (must accept -d)

       -j, --bzip2
              filter the archive through bzip2

       -J, --xz
              filter the archive through xz

       --lzip filter the archive through lzip

       --lzma filter the archive through lzma

       --lzop

       --no-auto-compress
              do not use archive suffix to determine the compression program

       -z, --gzip, --gunzip, --ungzip
              filter the archive through gzip

       -Z, --compress, --uncompress
              filter the archive through compress

       Note:   You   might   need  to  install  external  program  (lzip/ncom‐
       press/lzma...) to use some of these compression options

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-backups
              exclude backup and lock files

       --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-null
              disable the effect of the previous --null option

       --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, --xform=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)

       --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

       --full-time
              print file time to its full resolution

       --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

       --warning=KEYWORD
              warning control

       -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 the --quoting-style option are:

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

AUTHOR
       Written by John Gilmore and Jay Fenlason.

REPORTING BUGS
       Report bugs to <bug-tar@gnu.org>.

COPYRIGHT
       Copyright  ©  2013  Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free  to  change  and  redistribute  it.
       There is NO WARRANTY, to the extent permitted by law.



tar 1.26                         February 2013                          TAR(1)
```