Ubuntu tar 1.28 命令详解


tar 用于打包 备份 管理磁带 磁盘文档。

tar 能将许多文件一起保存到磁带或磁盘存档中,且还可从存档中还原单个文件。

tar 版本控制可设置 --backup 选项或 VERSION_CONTROL 环境变量。

tar 文件备份后缀默认为 '~',除非设置 --suffix 选项或 SIMPLE_BACKUP_SUFFIX 环境变量。

tar 主要负责打包,压缩需设置压缩选项 (或先打包成 .tar 文件,再调用其它压缩程序进行压缩)。

另请参阅: gzip     rar     uzip     zip

基本用法     详细用法

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 打印程序版本

 

--backup 选项值

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

 

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。