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 许可协议。
暂无评论

发送评论 编辑评论


上一篇
下一篇