GNU TAR 手册翻译

tar – 存档实用程序

TAR(1)                                              GNU TAR Manual                                             TAR(1)

名称
       tar - 存档实用程序

概要
   常规用法
       tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

   UNIX 风格用法
       tar -A [OPTIONS] ARCHIVE ARCHIVE

       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 风格用法
       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...]

注意
       该联机帮助页是GNU tar的简短描述。有关详细讨论,包括示例和用法说明,请参见
       建议,请参阅texinfo格式的GNU Tar手册。
       如果信息阅读器和tar文档已正确安装在您的系统上,命令

           info tar

       应该可以让你看到完整的手册

       您也可以在emacs(1)中使用 info mode 查看手册,或在以下网址在线找到各种格式的手册:

            http://www.gnu.org/software/tar/manual

       如果本手册与GNU Tar手册之间存在任何差异,则应将后者视为权威来源。

描述
       GNU tar 是一个存档程序,旨在将多个文件存储在一个文件(一个存档文件)中,并用于
       这类存档较晚。 存档文件可以是常规文件或设备(例如磁带驱动器,因此名称为
       该程序的代表,它代表磁带存档器),可以位于本地或远程机。

   选项风格
       GNU tar的选项可以用三种不同的样式给出。在传统风格中,
       第一个参数时所有选项字符的集合。
       参数的读取顺序和选项字符的出现顺序相同。
       在处理完所有选项之后剩余的命令行内容均被视为非可选参数:
       文件或存档成员名称。

       例如,c 选项需要创建存档,v 会现实详细操作,
       而 f 选项使用一个参数来设置要操作的存档的名称。 
       以下命令以传统方式编写,
       指示 tar 将目录 /etc 中的所有文件存储到存档文件 etc.tar 中,
       详细列出正在存档的文件:

       tar cfv a.tar /etc

       与其他命令行实用程序一样,在 UNIX 或短选项风格中,
       每个选项字母都以一个短划线作为前缀。 如果一个选项带有参数,
       则该参数作为单独的命令行字或紧随该选项之后紧随其后。 
       但是,如果该选项采用可选参数,则该参数必须跟在选项字母后且中间没有空格,
       如 -g /tmp /snar.db 所示。

       可以在单个破折号后将任意数量的不带参数的选项聚集在一起,
       例如 -vkp。 
       带有参数的选项(无论是必需的还是可选的)可以出现在此类集群的末尾,
       例如 -vkpf a.tar。

       上面以短选项样式编写的示例命令可能类似于:

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

       在 GNU 或长选项风格中,每个选项均以两个破折号开头,
       并具有有意义的名称,由小写字母和破折号组成。 
       使用长选项时,如果不会造成歧义,则可以缩写为首字母。 
       长选项的参数以单独的命令行字形式提供,紧接在选项之后,
       或者以等号与选项分隔,中间没有空格。 
       可选参数必须始终使用后一种方法。

       这是使用这种风格编写示例命令的几种方法:

       tar --create --file a.tar --verbose /etc
       或(缩写一些选项)
       tar --cre --file=a.tar --verb /etc

       三种风格的选项可以混合使用,尽管不鼓励使用旧选项。

   操作模式
       下表中列出的选项告诉 GNU tar 要执行什么操作。
       必须给出其中一个操作模式。非可选参数的含义取决于给出的操作模式。

       -A, --catenate, --concatenate
              将存档追加到另一个存档的末尾。 
              这些参数被视为要追加的存档的名称。 
              所有存档必须与附加存档的格式相同,
              否则生成的存档可能不适用于 tar 的非 GNU 实现。 
              还要注意的是,当给出多个存档时,
              只有使用-i(--ignore-zeros)选项时,
              才能在结果存档中访问除第一个存档以外的其他存档成员。

              经过了压缩的存档无法不能追加。

       -c, --create
              创建一个新的存档。参数提供要存档的文件的名称。
              目录是递归存档的,除非指定了--no-recursion 选项。

       -d, --diff, --compare
              查找存档和文件系统之间的差异。 参数是可选的,
              并指定要比较的存档成员。如果未给出,则为当前工作目录。

       --delete
              从存档中删除。参数提供要删除的存档成员的名称。
              至少给出一个参数。

              该选项无法用于经过压缩的存档,且没有等价的短选项。

       -r, --append
              将文件追加到存档文件的末尾。
              参数的含义与-c(--create)相同。

       -t, --list
              列出存档的内容。参数是可选的。
              如果给定,它们将指定要列出的成员的名称。

       --test-label
              测试存档卷的标签并退出。 当不带参数使用时,
              它将打印卷标(如果有)并以状态 0 退出。
              给出一个或多个命令行参数时。
              tar 将卷标与每个参数进行比较。
              如果找到匹配项,则以代码 0 退出,
              否则以代码1退出。
              除非与 -v(--verbose)选项一起使用,否则不显示任何输出。

              此选项没有等效的短选项。

       -u, --update
              追加比存档中相应副本新的文件。
              参数与 -c 和 -r 选项具有相同的含义。

       -x, --extract, --get
              从存档中提取文件。参数是可选的。
              如果给出,它们指定要提取的存档成员的名称。

       --show-defaults
              显示各种 tar 选项的内置默认值并退出。不允许有参数。

       -?, --help
              显示简短的选项摘要并退出。不允许有参数。

       --usage
              显示可用选项列表并退出。不允许有参数。

       --version
              打印程序版本和版权信息,然后退出。

选项
   操作的修饰符
       --check-device
              创建增量存档时检查设备编号(默认)。

       -g, --listed-incremental=FILE
              处理新的 GNU 格式的增量备份。FILE是快照文件的名称,
              是 tar 存储一些用于确定自上次增量转储以来哪些文件已更改的信息,
              因此必须再次转储。
              如果在创建存档文件时不存在 FILE,
              则会创建该文件并将所有文件添加到生成的存档文件中(0级转储)。
              要创建非零的 N 级别的增量存档,
              请在创建 N-1 级别的增量存档期间创建的快照文件的副本,
              并将其用作 FILE。

              列出或提取文件时,不检查FILE的实际内容,
              除非是出于语法要求。因此,通常使用 /dev/null 代替它。

       --hole-detection=METHOD
              使用 METHOD 来检测稀疏文件中的孔。
              此选项意味着你使用了 --sparse。
              METHOD 的有效值是 seek 和 raw。 
              默认情况下为 seek,不适用时会回退为 raw。

       -G, --incremental
              处理旧的 GNU 格式的增量备份。

       --ignore-failed-read
              在不可读的文件上不要以非零退出。

       --level=NUMBER
              为创建的列出增量存档设置转储级别。
              当前只有--level=0 才有意义:
              它指示 tar 在转储之前截断快照文件,从而强制进行0级转储。

       -n, --seek
              假设存档是可查找的。通常,tar自动确定是否可以查找存档。
              此选项适用于这种识别失败的情况。
              仅在打开存档以供阅读时
              (例如,使用--list 或--extract选项),此选项才会生效。

       --no-check-device
              创建增量存档时,不检查设备编号。

       --no-seek
              假设存档不可搜索。

       --occurrence[=N]
              仅处理存档中每个文件的第 N 次出现。
              仅当与以下操作模式之一一起使用时,此选项才有效:
              --delete,-diff,-extract或--list,
              并且在命令行或通过-T选项给出文件列表时。N 默认为 1。

       --restrict
              禁用某些潜在有害选项。

       --sparse-version=MAJOR[.MINOR]
              设置要使用的稀疏格式的版本(意味着使用了--sparse)。
              有效参数值为0.0、0.1 和 1.0。
              有关稀疏格式的详细讨论,
              请参见GNU Tar手册,附录D,“稀疏格式”。
              使用信息阅读器,
              可以运行以下命令来访问它:info tar'Sparse Formats'。

       -S, --sparse
              有效地处理稀疏文件。
              文件系统中的某些文件可能具有实际上从未写入过的段
              (通常这些段是由 DBM 等系统创建的数据库文件)。
              如果指定了此选项,则tar会尝试在存档之前确定文件是否稀疏,
              如果是,则通过不转储文件的空白部分来减小最终的存档大小。

   覆写控制
       当从存档中提取磁盘上已经存在的文件时,这些选项控制tar操作。

       -k, --keep-old-files
              解压缩时不要替换现有文件。

       --keep-newer-files
              不要替换比其存档副本新的现有文件。

       --no-overwrite-dir
              保留现有目录的元数据。

       --one-top-level[=DIR]
              将所有文件解压缩到 DIR 中,或者如果不带参数使用,
              则解压缩到与存档名同名的目录中
              (去掉--auto-compress 可以识别的标准压缩后缀)。

       --overwrite
              解压缩时覆盖现有文件。

       --overwrite-dir
              提取时覆盖现有目录的元数据(默认)。

       --recursive-unlink
              在解压缩之前,以递归方式删除目录中的所有文件。

       --remove-files
              将文件添加到存档后,从磁盘中删除文件。

       --skip-old-files
              提取时不要替换现有文件,以静默方式跳过它们。

       -U, --unlink-first
              提取每个文件之前,先将磁盘上存在的重复文件删除。

       -W, --verify
              写入后验证存档。

   输出流选择
       --ignore-command-error

       忽略子流程退出代码。

       --no-ignore-command-error
              将子级的非零退出代码视为错误(默认值)。

       -O, --to-stdout
              将文件提取到标准输出。

       --to-command=COMMAND
              将提取的文件通过管道传输到命令行。
              参数是外部程序的路径名,将其作为命令行参数。
              提取出的文件的内容将传递给程序,
              然后启动这个程序。
              其他数据将通过以下环境变量提供:

              TAR_FILETYPE
                     文件类型。是一个字母,含义如下:

                             f           常规文件
                             d           目录
                             l           符号链接
                             h           硬链接
                             b           块设备
                             c           字符设备

                     当前仅支持常规文件。

              TAR_MODE
                     文件模式,一个八进制数。

              TAR_FILENAME
                     文件名。

              TAR_REALNAME
                     存档名

              TAR_UNAME
                     文件所有者的名称。

              TAR_GNAME
                     文件所有者组的名称。

              TAR_ATIME
                     上次访问时间。 这是一个十进制数字,表示自 Epoch 以来的秒数。 
                     如果存档库提供的时间具有纳秒精度,则将纳秒添加到小数点后的时间戳。

              TAR_MTIME
                     上次修改时间。

              TAR_CTIME
                     上次状态更改的时间。

              TAR_SIZE
                     文件大小。

              TAR_UID
                     文件所有者的UID。

              TAR_GID
                     文件所有者的GID。

              此外,以下变量包含有关 tar 操作模式和正在处理的存档的信息:

              TAR_VERSION
                     GNU tar 版本号。

              TAR_ARCHIVE
                     tar 正在处理的存档名称。
              TAR_BLOCKING_FACTOR
                     当前的块因子,即一条记录中 512 字节的块的个数。

              TAR_VOLUME
                     tar 正在处理的卷的序号(如果读取多卷存档则设置)。

              TAR_FORMAT
                     正在处理的存档格式。 可能的取值为:gnu,oldgnu,posix,ustar,v7。
              
              TAR_SUBCOMMAND
                     一个简短的选项(带前划线),描述 tar 正在执行的操作。

   文件属性的处理
       --atime-preserve[=METHOD]
              保留转储文件的访问时间,
              方法是在读取后恢复时间
              (METHOD=replace,这是默认设置),
              或者不首先设置时间(METHOD=system)

       --delay-directory-restore
              延迟设置修改时间和提取目录的权限,直到提取结束。
              从具有异常成员顺序的存档中提取时,请使用此选项。

       --group=NAME[:GID]
              强制将 NAME 作为添加文件的组。
              如果未提供GID,则NAME可以是用户名或数字GID。
              在这种情况下,将从当前主机的组数据库中推断出丢失的部分(GID或名称)。

              与--group-map=FILE一起使用时,仅影响所有者组未在FILE中列出的那些文件。

       --group-map=FILE
              从 FILE 读取组翻译图。空行将被忽略。 
              注释以#号开头,并延伸到行尾。 
              FILE 中的每个非空行都为单个组定义映射。 
              它必须由两个字段组成,以任意数量的空格分隔:

              OLDGRP NEWGRP[:NEWGID]

              OLDGRP是有效的组名或带有+前缀的GID。
              除非提供了NEWGID,否则NEWGRP也必须是有效的组名或+ GID。
              否则,不需要在系统组数据库中列出NEWGRP和NEWGID。

              结果,每一个所有者组为OLDGRP的输入文件
              将与所有者组为 NEWGRP 和 GID NEWGID 
              的输入文件一起存储在存档中。

       --mode=CHANGES
              强制将符号模式更改已添加的文件。

       --mtime=DATE-OR-FILE
              为添加的文件设置 mtime。
              DATE-OR-FILE 可以是几乎任意格式的日期/时间,
              也可以是现有文件的名称。 在后一种情况下,将使用该文件的mtime。

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

       --no-delay-directory-restore
              取消先前的 --delay-directory-restore 选项的效果。

       --no-same-owner
              用户自己提取文件(普通用户默认)。

       --no-same-permissions
              从存档中提取权限时,应用用户的umask(普通用户默认)。

       --numeric-owner
              用户/组名称始终使用数字。

       --owner=NAME[:UID]
              强制将 NAME 作为添加文件的所有者。
              如果未提供UID,则NAME可以是用户名或数字UID。
              在这种情况下,将从当前主机的用户数据库中推断出丢失的部分(UID或名称)。

              与--owner-map = FILE一起使用时,仅影响所有者未在FILE中列出的那些文件。

       --owner-map=FILE
              从FILE中读取所有者翻译地图。 空行将被忽略。
              注释以#号开头,并延伸到行尾。
              FILE中的每个非空行都定义了单个UID的映射。
              它必须由两个字段组成,以任意数量的空格分隔:

              OLDUSR NEWUSR[:NEWUID]

              OLDUSR 是有效的用户名或带有+前缀的UID。
              除非提供 NEWUID,否则 NEWUSR 还必须是有效的用户名或+UID。 
              否则,不需要在系统用户数据库中列出 NEWUSR 和 NEWUID。

              结果,OLDER 拥有的每个输入文件
              都将以所有者名称 NEW USER和 UID NEWUID 存储在存档中。

       -p, --preserve-permissions, --same-permissions
              提取有关文件权限的信息(超级用户的默认设置)。

       --preserve
              与 -p 和 -s 相同。

       --same-owner
              尝试以与存档中相同的所有权提取文件(超级用户默认)。

       -s, --preserve-order, --same-order
              排序名称以提取以匹配存档。

       --sort=ORDER
              创建存档文件时,根据ORDER对目录条目进行排序,
              ORDER 是 none、name或inode之一。

              默认--sort=none,它以与操作系统返回的顺序相同的顺序存储存档成员。

              使用--sort=name可以确保创建的存档文件中的成员顺序是统一的和可复制的。

              使用--sort=inode可以减少在创建存档文件时进行的磁盘查找次数,
              因此可以大大加快存档速度。只有当底层系统提供了必要的信息时,才支持这种排序顺序。

   扩展文件属性
       --acls 
              启用 POSIX ACL 支持。

       --no-acls
              禁用 POSIX ACL 支持。

       --selinux
              启用 SELinux 上下文支持。

       --no-selinux
              禁用 SELinux 上下文支持。

       --xattrs
              启用扩展属性支持。

       --no-xattrs
              禁用扩展属性支持。

       --xattrs-exclude=PATTERN
              指定 xattr 键的排除模式。PATTERN 是一个 POSIX 正则表达式,
              例如--xattrs exclude='^user',用于从用户命名空间中排除属性。

       --xattrs-include=PATTERN
              指定 xattr 键的 include 模式。PATTERN是一个POSIX正则表达式。

   设备选择和切换
       -f, --file=ARCHIVE
              使用存档文件或设备存档。如果没有给出这个选项,
              tar将首先检查环境变量 TAPE。如果设置了它,
              它的值将用作存档名称。
              否则,tar 将使用编译时指定的默认值。
              可以使用 --show defaults 选项或在 tar --help 输出的末尾检查默认值。

              带有冒号的存档名称指定远程计算机上的文件或设备。之前的那部分
              冒号作为机器名或 I P地址,后面的部分作为文件或设备路径名称,例如:

              --file=remotehost:/dev/sr0

              可以在主机名前面加上一个可选的用户名,在它们之间加上一个@号。

              默认情况下,通过rsh(1)命令访问远程主机。现在通常使用ssh(1)代替。
              您可以通过提供以下命令行选项来执行此操作:

              --rsh-command=/usr/bin/ssh

              远程机器应安装rmt(8)命令。如果其路径名与tar的默认路径名不匹配,
              可以使用 --rmt 命令选项通知tar正确的路径名。

       --force-local
              存档文件是本地文件,即使它有冒号。

       -F, --info-script=COMMAND, --new-volume-script=COMMAND
              在每个 tape 末尾运行命令(意味着使用了 -M)。参数可以包括命令。
              启动时,它将继承tar的环境以及以下变量:

              TAR_VERSION
                     GNU tar 版本号。

              TAR_ARCHIVE
                     tar 正在处理的存档的名称。

              TAR_BLOCKING_FACTOR
                     当前块因子,即每隔记录中包含的 512 字节块的数量。

              TAR_VOLUME
                     tar 正在处理的卷的序号(当且仅当读取多卷存档才会出现)。

              TAR_FORMAT
                     正在处理的存档的格式。可能的取值:gnu、oldgnu、posix、ustar、v7。

              TAR_SUBCOMMAND
                     描述tar正在执行的操作的短选项(带前导破折号)。

              TAR_FD 
                     文件描述符,可用于将新卷名传递给 tar。

              如果 info 脚本失败,tar 退出;否则,tar 开始写入下一个卷。

       -L, --tape-length=N
              写入Nx1024字节后更换 tap。如果 N后 面跟一个大小后缀
              (请参阅下面的“大小后缀”小节),
              则后缀指定要使用的乘法因子,而不是1024。

              这个选项意味着使用了 -M。

       -M, --multi-volume
              创建/列出/提取多卷存档。

       --rmt-command=COMMAND
              替换 rmt 的访问远程存档时使用命令。
              请参见上面对 -f 选项的描述。

       --rsh-command=COMMAND
              访问远程存档时,请使用命令而不是 rsh。
              请参见上面对-f 选项的描述。

       --volno-file=FILE
              当此选项与 --multi-volume 结合使用时,
              tar 将跟踪它在文件中工作的多卷存档的哪个卷。

   块设置
       -b, --blocking-factor=BLOCKS
              将记录大小设置为BLOCKSx512字节。

       -B, --read-full-records
              当列出或提取时,接受文件结束标记后不完整的输入记录。

       -i, --ignore-zeros
              忽略存档中的清零块。
              通常,两个连续的512块填充有零,表示EOF,
              并且tar在遇到它们之后停止读取。
              该选项指示它进一步阅读,并且在读取使用-A选项创建的存档时非常有用。

       --record-size=NUMBER
              设置记录大小。NUMBER是每条记录的字节数。
              它必须是512的倍数。可以以存储单位如 k 或 m 为后缀,
              例如 --record-size = 10K,表示10 KB。
              请参阅小节大小后缀,以获取有效后缀的列表。

   存档格式选择
       -H, --format=FORMAT
              创建给定格式的存档。有效格式为:

              gnu    GNU tar 1.13.x格式

              tar<=1.12 的为 oldgnu-GNU 格式。

              pax, posix
                     POSIX 1003.1-2001(pax)格式。

              ustar  POSIX 1003.1-1988 (ustar) 格式。

              v7     旧的 v7tar 格式。

       --old-archive, --portability
              与 --format=v7 相同。

       --pax-option=keyword[[:]=value][,keyword[[:]=value]]...
              创建pax存档时控制pax关键字(-H pax)。
              此选项相当于pax(1)实用程序的-o选项。

       --posix
              与 --format=posix 相同。

       -V, --label=TEXT
              使用卷名创建存档。
              如果操作为列出或提取,使用文本作为卷名的全局模式。

   压缩选项
       -a, --auto-compress
              使用存档后缀来确定压缩程序。

       -I, --use-compress-program=COMMAND
              通过命令过滤数据。必须同时使用 -d 选项。
              参数可以包含命令行选项。

       -j, --bzip2
              通过 bzip2(1)过滤存档文件。

       -J, --xz
              通过 xz(1)过滤存档文件。

       --lzip 通过 lzip(1)过滤存档文件。

       --lzma 通过 lzma(1)过滤存档文件。

       --lzop 通过 lzop(1)过滤存档文件。

       --no-auto-compress
              不使用存档后缀来确定压缩程序。

       -z, --gzip, --gunzip, --ungzip
              通过 gzip(1)过滤存档文件。

       -Z, --compress, --uncompress
              通过 compress(1) 过滤存档文件。

   本地文件选择
       --add-file=FILE
              将文件添加到存档(如果文件名以破折号开头,则很有用)。

       --backup[=CONTROL]
              删除前备份。控制参数(如果提供)控制备份策略。其有效值为:

              none, off
                     永远不要备份。

              t, numbered
                     进行编号备份。

              nil, existing
                     如果存在编号备份,则进行编号备份,否则进行简单备份。

              never, simple
                     始终进行简单备份

              如果未给定控制参数,
              则该值取自 VERSION\uCONTROL 环境变量。
              如果未设置,则假定存在。

       -C, --directory=DIR
              在执行任何操作之前,切换到 DIR。此选项对顺序敏感,即它影响后面的所有选项。

       --exclude=PATTERN
              排除模式匹配到的文件,通配符遵循 glob(3)。

       --exclude-backups
              排除备份和锁定的文件。

       --exclude-caches
              排除包含文件的目录的内容 CACHEDIR.TAG,但标记文件本身除外。

       --exclude-caches-all
              排除包含文件的目录CACHEDIR.TAG以及文件本身。

       --exclude-caches-under
              排除包含的目录下的所有内容 CACHEDIR.TAG

       --exclude-ignore=FILE
              在转储目录之前,查看它是否包含 FILE。
              如果是,从中读取排除模式匹配到的文件。
              模式只影响目录本身。

       --exclude-ignore-recursive=FILE
              与--exclude ignore相同,只是文件中的模式同时影响目录及其所有子目录。

       --exclude-tag=FILE
              排除包含 FILE 的目录的内容,除了FILE本身。

       --exclude-tag-all=FILE
              排除包含 FILE 的目录。

       --exclude-tag-under=FILE
              排除包含 FILE 的目录下的所有内容。

       --exclude-vcs
              排除版本控制系统目录。

       --exclude-vcs-ignores
              排除与从 VCS-specific 的忽略文件读取的模式匹配的文件。
              支持的文件有:.cvsignore,.gitignore,.bzrignore和.hgignore。

       -h, --dereference
              遵循符号链接;存档并转储它们指向的文件。

       --hard-dereference
              遵循硬链接; 存档并转储它们引用的文件。

       -K, --starting-file=MEMBER
              从存档中的给定成员开始。

       --newer-mtime=DATE
              处理数据在 DATE 之后更改的文件。如果 DATE 以 /or 开头。
              它被视为一个文件名;该文件的mtime被用作日期。

       --no-null
              禁用先前的--null选项的效果。

       --no-recursion
              Avoid descending automatically in directories.

       --no-unquote
              不取消引用输入文件或成员名称的引用。

       --no-verbatim-files-from
              将从文件列表中读取的每一行提供给命令行。
              一、 例如,删除前导空格和尾随空格,
              如果结果字符串以破折号开头,则将其视为tar命令行选项。

              这是默认行为。提供了--no verbatim files from 选项,
              作为在 --verbatim files from 选项之后恢复它的方法。

              此选项是固定的:它将影响所有在其之后出现的--files-from选项,
              直到--verbatim-files-from选项或行尾(以先出现者为准)。

              这个选项意味着使用了 --no-null。

       --null 指示后续的 -T 选项逐字读取以空值结尾的名称(禁用对以破折号开头的名称的特殊处理)。

              详情见 --verbatim-files-from.

       -N, --newer=DATE, --after-date=DATE
              仅存储比 DATE 更新的文件。 如果DATE以/ or 开始。
              它被当作文件名:该文件的ctime用作日期。

       --one-file-system
              创建存档文件时,保留在本地文件系统中。

       -P, --absolute-names
              创建存档时,请勿在文件名中删除前导斜杠。

       --recursion
              递归到目录(默认)。

       --suffix=STRING
              备份后再删除,覆盖通常的后缀。
              默认后缀为〜,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖。

       -T, --files-from=FILE
              获取要从 FILE 中提取或创建的名称。

              除非另有说明,否则FILE必须包含以ASCII LF分隔的名称列表(即,每行一个名称)。
              读取的名称与命令行参数的处理方式相同。
              它们进行引号删除和单词拆分,并且任何以-开头的字符串都将作为tar命令行选项处理。

              如果不希望出现这种情况,可以使用 --verbatim-files-from 选项将其关闭。

              --null选项指示tar FILE中的名称用ASCII NUL字符而不是LF分隔。
              如果列表由find(1)-print0 谓词生成,则很有用。

       --unquote
              取消引用文件或成员名称(默认)。

       --verbatim-files-from
              从文件列表中获得的每一行都视为文件名,即使它以短划线开头也是如此。
              文件列表随--files-from(-T)选项提供。
              默认行为是处理文件列表中提供的名称,就像在命令行中键入它们一样,
              即,任何以破折号开头的名称都被视为tar选项。
              --verbatim-files-from选项禁用此行为。

              此选项会影响在命令行之后出现的所有--files-from选项。
              --no-verbatim-files-from}选项可恢复其效果。

              该选项由--null选项隐含。

              更多见 --add-file.

       -X, --exclude-from=FILE
              排除文件中列出的与模式匹配的文件。

   文件名转换
       --strip-components=NUMBER
              提取时从文件名中剥离 NUMBER 个主要部分。

       --transform=EXPRESSION, --xform=EXPRESSION
              使用 sed replace EXPRESSION 转换文件名。

   文件名匹配选项
       这些选项影响排除和包含模式。

       --anchored
              模式匹配文件名开始。

       --ignore-case
              无视大小写

       --no-anchored
              在 '/' 后面匹配模式(排除时默认)。

       --no-ignore-case
              区分大小写的匹配(默认)。

       --no-wildcards
              逐字字符串匹配。

       --no-wildcards-match-slash
              通配符不匹配 '/'。

       --wildcards
              使用通配符(默认不启用)。

       --wildcards-match-slash
              通配符匹配 /(默认不启用)。

   Informative output
       --checkpoint[=N]
              每 N 个记录显示进度消息(默认为10)。

       --checkpoint-action=ACTION
              在每个检查点上运行 ACTION。

       --clamp-mtime
              仅在文件比 --mtime 指定的文件更新时才设置时间。

       --full-time
              以完整分辨率打印文件时间。

       --index-file=FILE
              将详细输出发送到 FILE。

       -l, --check-links
              如果不是所有链接都转储,则打印一条消息。

       --no-quote-chars=STRING
              禁止从 STRING 中引用字符。

       --quote-chars=STRING
              此外,还要引用 STRING 中的字符。

       --quoting-style=STYLE
              设置文件名和成员名的引用样式。
              STYLE的有效值是文字,
              shell, shell-always,c, c-maybe, escape, locale, clocale.

       -R, --block-number
              在每个消息中显示存档中的块号。

       --show-omitted-dirs
              列出或提取时,列出与搜索条件不匹配的每个目录。

       --show-transformed-names, --show-stored-names
              通过--strip和--transform选项转换后显示文件或存档名称。

       --totals[=SIGNAL]
              处理存档后,打印总字节数。如果给出SIGNAL,
              则在传递此信号时打印总字节数。
              允许的信号为:SIGHUP,SIGQUIT,SIGINT,SIGUSR1和SIGUSR2。 
              SIG前缀可以省略。

       --utc  以 UTC 打印文件修改时间。

       -v, --verbose
              详细列出已处理的文件。

       --warning=KEYWORD
              启用或禁用由 KEYWORD 标识的警告消息。
              如果 KEYWORD 的前缀为 no,则消息将被禁止,否则将被启用。

              Multiple --warning messages accumulate.

              Keywords tar 的常规控制消息:

              all    启用所有警告消息。 这是默认值。

              none   禁用所有警告消息。

              filename-with-nuls
                     "%s:读取的文件名包含空字符”

              alone-zero-block
                     "%s处的一个单独的零块"

              适用于 tar 的关键字 --create:

              cachedir
                     "%s: 包含一个缓存目录标签 %s; %s"

              file-shrank
                     "%s: 文件缩小了 %s 个字节; 用零填充"

              xdev   "%s: 文件位于不同的文件系统上; 没有转储"

              file-ignored
                     "%s: 未知的文件类型; 文件被忽略"
                     "%s: 套接字被忽略"
                     "%s: door ignored"

              file-unchanged
                     "%s: 文件没有更改;没有转储"

              ignore-archive
                     "%s: 文件为存档文件;没有转储"

              file-removed
                     "%s: 文件在读取前被删除"

              file-changed
                     "%s: 文件在读取钱发生了改变"

              适用于tar的关键字 --extract:

              existing-file
                     "%s: 跳过已经存在的文件"

              timestamp
                     "%s: 旧到难以置信的时间戳 %s"
                     "%s: time stamp %s is %s s in the future"

              contiguous-cast
                     "将连续文件提取为常规文件"

              symlink-cast
                     "尝试将符号链接提取为硬链接"

              unknown-cast
                     "%s: 未知的文件类型 '%c', 提取为常规文件"

              ignore-newer
                     "当前 %s 是更新的或相同的 age"

              unknown-keyword
                     "忽略未知的扩展标头关键字 '%s'"

              decompress-program
                     控制尝试运行替代解压缩程序时发生的故障的详细描述。
                     默认情况下,此警告处于禁用状态(除非使用--verbose)。
                     使用此警告可以得到的一个常见示例是:

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

                     这意味着tar首先尝试使用compress解压缩archive.Z,
                     然后在失败的情况下切换到gzip。

              record-size
                     "一个记录的大小 = %lu blocks"

              控制增量提取的关键字:

              rename-directory
                     "%s: 目录已经从 %s 重命名"
                     "%s: 目录已重命名"

              new-directory
                     "%s: 目录是新的"

              xdev   "%s: 目录在其他设备上:不清除"

              bad-dumpdir
                     "格式错误的 dumpdir: 'X' 从不使用"

       -w, --interactive, --confirmation
              要求确认每个动作。

   兼容性选项
       -o     创建时,与 --old-archive.  When extracting, same as --no-same-owner 相同。

   大小狗追
               后缀      单位                    等效字节
               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 退出代码指示它是否能够成功执行请求的操作,如果不能,则发生哪种错误。

       0      正常终止。

       1      某些文件有所不同。
              如果使用--compare(--diff,-d)命令行选项调用了 tar,
              则意味着存档中的某些文件与磁盘上的文件不同。
              如果为 tar 提供--create,-append或--update选项之一,
              则此退出代码意味着某些文件在存档时已更改,因此生成的存档中不包含文件集的确切副本。

       2      致命错误。 这意味着发生了一些致命的,不可恢复的错误。

       如果 tar 调用的子进程以非零退出代码退出,
       则tar本身也会以该代码退出。
       例如,如果使用了压缩选项(例如-z)并且外部压缩程序失败,则可能会发生这种情况。 另一个示例是备份到远程设备期间 rmt 失败。

参见
       bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), tar(5), xz(1).

       完整的 tar 手册:运行 info tar 或使用 emacs(1)info 模式读取它。

       各种格式的 GNU tar文档的在线副本可在以下位置找到:

           http://www.gnu.org/software/tar/manual

错误报告
       向报告错误。

版权
       Copyright © 2013 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 per‐
       mitted by law.

译者
       本手册由 ADD-SP 于 2020-08-25 由英文翻译为简体中文。

TAR                                                 2016年3月23日                                             TAR(1)
本文作者:ADD-SP
本文链接https://www.addesp.com/archives/213
版权声明:本博客所有文章除特别声明外,均默认采用 CC-BY-NC-SA 4.0 许可协议。
暂无评论

发送评论 编辑评论


				
上一篇
下一篇