tar 用于打包 备份 管理磁带 磁盘文档。
tar 能将许多文件一起保存到磁带或磁盘存档中,且还可从存档中还原单个文件。
tar 版本控制可设置 --backup 选项或 VERSION_CONTROL 环境变量。
tar 文件备份后缀默认为 '~',除非设置 --suffix 选项或 SIMPLE_BACKUP_SUFFIX 环境变量。
tar 主要负责打包,压缩需设置压缩选项 (或先打包成 .tar 文件,再调用其它压缩程序进行压缩)。
tar -xf archive.tar
基本语法
tar [OPTION...] [FILE]...
若 FILE 没有或为 -,则操控标准输入。
注意: 长选项的 "强制性|可选" 参数, 对于短选项也是 "强制性|可选" 的。
默认值 --format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt --rsh-command=/usr/bin/rsh
主操作模式
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-A, --catenate, --concatenate | append tar files to an archive | 把 tar 文件追加到存档 | |
-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!) | 从存档中删除 (不在 mag 磁带上) | |
-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 | 从存档提取文件 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--check-device | check device numbers when creating incremental archives (default) | 当创建增量存档时,检查设备编号 (默认) | |
-g, --listed-incremental=FILE | handle new GNU-format incremental backup | 处理新 GNU 格式增量备份 | |
-G, --incremental | handle old GNU-format incremental backup | 处理旧 GNU 格式增量备份 | |
--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 archive; this option is valid only in conjunction with one of the subcommands --delete, --diff, --extract or --list, and when a list of files is given either on the command line or via the -T option; NUMBER defaults to 1 |
仅处理存档每文件的第 NUMBERth 个出现; 仅与子命令 --delete --diff --extract 或 --list 联合使用, 且在命令行上或通过 -T 选项给出文件列表时,此选项才有效。 NUMBER 默认为 1 |
|
--sparse-version=MAJOR[.MINOR] | set version of the sparse format to use (implies --sparse) | 设置要使用稀疏格式的版本 (暗含 --sparse) | |
-S, --sparse | handle sparse files efficiently | 有效处理稀疏文件 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-k, --keep-old-files | don't replace existing files when extracting, treat them as errors | 提取时不替换现有文件,将它们视为错误 | |
--keep-directory-symlink | preserve existing symlinks to directories when extracting | 提取时,保留目录的现有符号链接 | |
--keep-newer-files | don't replace existing files that are newer than their archive copies | 不要替换比其存档副本更新的现有文件 | |
--no-overwrite-dir | preserve metadata of existing directories | 保留现有目录元数据 | |
--one-top-level[=DIR] | create a subdirectory to avoid having loose files extracted | 创建子目录,以避免提取松散文件 | |
--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 | 写入后,尝试验证存档 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--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 | 管道提取文件到另一程序 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--atime-preserve[=METHOD] |
preserve access times on dumped files, either by restoring the times after reading (METHOD='replace'; default) or by not setting the times in the first place (METHOD='system') |
保留转储文件的访问时间, 通过还原读取后的时间 (METHOD='replace'; 默认) 或通过不首先设置时间 (METHOD='system') |
|
--clamp-mtime | only set time when the file is more recent than what was given with --mtime | 仅当文件比 --mtime 给定更新时才设置时间 | |
--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 | 强制 NAME 作为添加文件组 | |
--mode=CHANGES | force (symbolic) mode CHANGES for added files | 把已添加文件 (符号) 模式强制为 CHANGES | |
--mtime=DATE-OR-FILE | set mtime for added files from DATE-OR-FILE | 从 DATE-OR-FILE 设置已添加文件 mtime | |
-m, --touch | don't extract file modified time | 不提取文件修改时间 | |
--no-delay-directory-restore | cancel the effect of --delay-directory-restore option | 取消 --delay-directory-restore 选项影响 | |
--no-same-owner | extract files as yourself (default for ordinary users) | 自己提取文件 (默认普通用户) | |
--no-same-permissions | apply the user's umask when extracting permissions from the archive (default for ordinary users) | 从存档提取权限时,应用用户的 umask (默认普通用户) | |
--numeric-owner | always use numbers for user/group names | 始终使用数字作为 user/group 名 | |
--owner=NAME | force NAME as owner for added files | 把 NAME 强制作为添加文件所有者 | |
-p, --preserve-permissions, --same-permissions | extract information about file permissions (default for superuser) | 提取有关文件权限信息 (默认超级用户) | |
--preserve | same as both -p and -s | 与 -p 和 -s 两者相同 | |
--same-owner | try extracting files with the same ownership as exists in the archive (default for superuser) | 试着以存档现有相同所有权,提取文件 (默认超级用户) | |
-s, --preserve-order, --same-order | member arguments are listed in the same order as the files in the archive | 成员自变量以与存档文件相同顺序列出 | |
--sort=ORDER | directory sorting order: none (default), name or inode | 目录排序顺序:无 (默认),名称或索引节点 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--acls | Enable the POSIX ACLs support | 启用 POSIX ACL 支持 | |
--no-acls | Disable the POSIX ACLs support | 禁用 POSIX ACL 支持 | |
--no-selinux | Disable the SELinux context support | 禁用 SELinux 上下文支持 | |
--no-xattrs | Disable extended attributes support | 禁用扩展属性支持 | |
--selinux | Enable the SELinux context support | 启用 SELinux 上下文支持 | |
--xattrs | Enable extended attributes support | 启用扩展属性支持 | |
--xattrs-exclude=MASK | specify the exclude pattern for xattr keys | 指定 xattr 键排除模式 | |
--xattrs-include=MASK | specify the include pattern for xattr keys | 指定 xattr 键包括模式 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-f, --file=ARCHIVE | use archive file or device ARCHIVE | 使用存档文件或设备 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) | 在每磁带末尾运行脚本 (暗含 -M) | |
-L, --tape-length=NUMBER | change tape after writing NUMBER x 1024 bytes | 在写入 NUMBER x 1024 字节后,更改磁带 | |
-M, --multi-volume | create/list/extract multi-volume archive | 创建/列出/提取 多卷存档 | |
--rmt-command=COMMAND | use given rmt COMMAND instead of rmt | 使用给定 rmt COMMAND 而不是 rmt | |
--rsh-command=COMMAND | use remote COMMAND instead of rsh | 使用远程 COMMAND 而不是 rsh | |
--volno-file=FILE | use/update the volume number in FILE | 使用/更新 FILE 卷号 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-b, --blocking-factor=BLOCKS | BLOCKS x 512 bytes per record | BLOCKS x 512 字节每记录 | |
-B, --read-full-records | reblock as we read (for 4.2BSD pipes) | 读取时重新分块 (4.2BSD 管道) | |
-i, --ignore-zeros | ignore zeroed blocks in archive (means EOF) | 忽略存档零块 (意味着 EOF) | |
--record-size=NUMBER | NUMBER of bytes per record, multiple of 512 | 每记录字节数,512 的倍数 |
参数 | EN 解释 | 中文翻译 | 备注 | |
---|---|---|---|---|
-H, --format=FORMAT | create archive of the given format | 创建给定格式存档 | ||
gnu | GNU tar 1.13.x format | GNU tar 1.13.x 格式 | ||
oldgnu | GNU format as per tar <= 1.12 | 符合 tar <= 1.12 的 GNU 格式 | ||
pax | POSIX 1003.1-2001 (pax) format | POSIX 1003.1-2001 (pax) 格式 | ||
posix | same as pax | 同 pax | ||
ustar | POSIX 1003.1-1988 (ustar) format | POSIX 1003.1-1988 (ustar) 格式 | ||
v7 | old V7 tar format | 旧 V7 tar 格式 | ||
--old-archive, --portability | same as --format=v7 | 同 --format=v7 | ||
--pax-option=keyword[[:]=value][,keyword[[:]=value]]... | control pax keywords | 控制p ax 关键字 | ||
--posix | same as --format=posix | 同 --format=posix | ||
-V, --label=TEXT |
create archive with volume name TEXT; at list/extract time, use TEXT as a globbing pattern for volume name |
以卷名 TEXT 创建存档; 在列表/提取时间,使用 TEXT 作为卷名通配模式 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-a, --auto-compress | use archive suffix to determine the compression program | 使用存档后缀确定压缩程序 | |
-I, --use-compress-program=PROG | filter through PROG (must accept -d) | 通过 PROG 过滤 (必须接受 -d) | |
-j, --bzip2 | filter the archive through bzip2 | 通过 bzip2 过滤存档 | |
-J, --xz | filter the archive through xz | 通过 xz 过滤存档 | |
--lzip | filter the archive through lzip | 通过 lzip 过滤存档 | |
--lzma | filter the archive through xz | 通过 xz 过滤存档 | |
--lzop | filter the archive through xz | 通过 xz 过滤存档 | |
--no-auto-compress | do not use archive suffix to determine the compression program | 不使用存档后缀确定压缩程序 | |
-z, --gzip, --gunzip, --ungzip | filter the archive through gzip | 通过 gzip 过滤存档 | |
-Z, --compress, --uncompress | filter the archive through compress | 通过 compress 过滤存档 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--add-file=FILE | add given FILE to the archive (useful if its name starts with a dash) | 把给定 FILE 添加到存档 (若其名称以 - 短划线开头,则会很有用) | |
--backup[=CONTROL] | backup before removal, choose version CONTROL | 在移除前备份,选择版本 CONTROL | |
-C, --directory=DIR | change to directory DIR | 转到目录 DIR | |
--exclude=PATTERN | exclude files, given as a PATTERN | 排除 PATTERN 给定文件 | |
--exclude-backups | exclude backup and lock files | 排除备份并锁定文件 | |
--exclude-caches | exclude contents of directories containing CACHEDIR.TAG, except for the tag file itself | 排除包含 CACHEDIR.TAG 的目录内容,tag 文件本身除外 | |
--exclude-caches-all | exclude directories containing CACHEDIR.TAG | 排除包含 CACHEDIR.TAG 的目录 | |
--exclude-caches-under | exclude everything under directories containing CACHEDIR.TAG | 排除包含 CACHEDIR.TAG 的目录下的一切 | |
--exclude-ignore=FILE | read exclude patterns for each directory from FILE, if it exists | 从 FILE 中读取每目录排除模式,若其存在的话 | |
--exclude-ignore-recursive=FILE | read exclude patterns for each directory and its subdirectories from FILE, if it exists | 从 FILE 中读取每目录及其子目录排除模式,若其存在的话 | |
--exclude-tag=FILE | exclude contents of directories containing FILE, except for FILE itself | 排除包含 FILE 的目录内容,FILE 本身除外 | |
--exclude-tag-all=FILE | exclude everything under directories containing FILE | 排除包含 FILE 目录下的一切 | |
--exclude-vcs | exclude version control system directories | 排除版本控制系统目录 | |
--exclude-vcs-ignores | read exclude patterns from the VCS ignore files | 从 VCS 忽略文件中,读取排除模式 | |
-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 when reading the archive | 读取存档时,从成员 MEMBER-NAME 开始 | |
--newer-mtime=DATE | compare date and time when data changed only | 比较仅更改数据时的日期 时间 | |
--no-null | disable the effect of the previous --null option | 禁用先前 --null 选项影响 | |
--no-recursion | avoid descending automatically in directories | 避免在目录中自动下降 | |
--no-unquote | do not unquote input file or member names | 不取消输入文件或成员名称的引号 | |
--null | -T reads null-terminated names, disable -C | -T 读取以空值结尾的名称,禁用 -C | |
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE | only store files newer than DATE-OR-FILE | 仅存储比 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 overridden by environment variable SIMPLE_BACKUP_SUFFIX) |
移除前备份,覆盖常用后缀 ('~',除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖) |
|
-T, --files-from=FILE | get names to extract or create from FILE | 从 FILE 获取提取或创建名称 | |
--unquote | unquote input file or member names (default) | 取消输入文件或成员名引号 (默认) | |
-X, --exclude-from=FILE | exclude patterns listed in FILE | 排除 FILE 中列出的模式 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--strip-components=NUMBER | strip NUMBER leading components from file names on extraction | 提取时,从文件名中剥离 NUMBER 个先导组件 | |
--transform=EXPRESSION, --xform=EXPRESSION | use sed replace EXPRESSION to transform file names | 使用 sed 替换 EXPRESSION 变换文件名 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--anchored | patterns match file name start | 模式匹配文件名起始 | |
--ignore-case | ignore case | 忽略大小写 | |
--no-anchored | patterns match after any '/' (default for exclusion) | 模式在任何 '/' 后匹配 (默认独占) | |
--no-ignore-case | case sensitive matching (default) | 区分大小写匹配 (默认) | |
--no-wildcards | verbatim string matching | 逐字字符串匹配 | |
--no-wildcards-match-slash | wildcards do not match '/' | 通配符不匹配 '/' 字符 | |
--wildcards | use wildcards (default for exclusion) | 使用通配符 (默认独占) | |
--wildcards-match-slash | wildcards match '/' (default for exclusion) | 通配符匹配 '/' 字符 (默认独占) |
参数 | EN 解释 | 中文翻译 | 备注 | |
---|---|---|---|---|
--checkpoint[=NUMBER] | display progress messages every NUMBERth record (default 10) | 每隔 NUMBER 条记录显示进度消息 (默认 10) | ||
--checkpoint-action=ACTION | execute ACTION on each checkpoint | 在每检查点执行 ACTION | ||
--full-time | print file time to its full resolution | 以完整分辨率打印文件时间 | ||
--index-file=FILE | send verbose output to FILE | 发送详细输出到 FILE | ||
-l, --check-links | print a message if not all links are dumped | 打印消息,若不是所有链接被转储 | ||
--no-quote-chars=STRING | disable quoting for characters from STRING | 禁用 STRING 引号字符 | ||
--quote-chars=STRING | additionally quote characters from STRING | 附加来自 STRING 的引号字符 | ||
--quoting-style=STYLE | set name quoting style | 设置名称引号样式 | ||
STYLE | literal | |||
shell | ||||
shell-always | ||||
c | ||||
c-maybe | ||||
escape | ||||
locale | ||||
clocale | ||||
-R, --block-number | show block number within archive with each message | 每消息展示存档块号 | ||
--show-defaults | show tar defaults | 展示 tar 默认值 | ||
--show-omitted-dirs | when listing or extracting, list each directory that does not match search criteria | 列表或提取时, 列出不匹配搜索条件的每一目录 | ||
--show-snapshot-field-ranges | show valid ranges for snapshot-file fields | 展示快照文件字段的有效范围 | ||
--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 signals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also accepted |
处理存档后,打印总字节数; 带自变量 - 打印总字节,当交付相应 SIGNAL 时; 允许信号,包括:SIGHUP SIGQUIT SIGINT SIGUSR1 SIGUSR2; 还接受不带 SIG 前缀的名称 |
||
--utc | print file modification times in UTC | 打印文件 UTC 修改时间 | ||
-v, --verbose | verbosely list files processed | 详细列出已处理文件 | ||
--warning=KEYWORD | warning control | 警告控制 | ||
-w, --interactive, --confirmation | ask for confirmation for every action | 要求确认每一动作 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-o |
when creating, same as --old-archive; when extracting, same as --no-same-owner |
创建时,同 --old-archive; 提取时,同 --no-same-owner |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-?, --help | give this help list | 给出相应帮助信息 | |
--restrict | disable use of some potentially harmful options | 禁用某些潜在有害选项 | |
--usage | give a short usage message | 给出简短用法消息 | |
--version | print program version | 打印程序版本 |
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
none, off | never make backups | 从不生成备份 | |
t, numbered | make numbered backups | 生成编号备份 | |
nil, existing | numbered if numbered backups exist, simple otherwise | 若存在编号备份,则编号;否则,simple | |
never, simple | always make simple backups | 始终生成简单备份 |
功能 | 命令 | 文字解释 | 示例 | 示例解释 |
---|---|---|---|---|
提取 | tar -xf archive.tar | 从 archive.tar 提取所有文件 | ||
压缩 | tar -cf archive.tar foo bar | 从文件 foo bar 创建 archive.tar 压缩包 | ||
列表 | tar -tvf archive.tar | 详细列出 archive.tar 中的所有文件 | ||
版本 | tar --version | 打印版本信息 | ||
帮助 | tar -? | 展示帮助信息 | ||
tar --help |
版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。