Linux解压缩命令 tar -zxvf 压缩-zcvf 到指定文件夹-C
tar -zxvf x.tar.gz
解压提取 x.tar.gztar -zcvf x.tar.gz x.source
将 x.source 压缩打包为 x.tar.gztar -zxvf x.tar.gz --directory /tmp
解压提取 x.tar.gz 到 /tmp 文件夹
解压提取 x.tar.gz 到当前文件夹
横杆(减号)可有可无, f要在最后
# 解压 x.tar.gz 到当前文件夹 , 横杆(减号)可有可无, f要在最后
tar zxf x.tar.gz
tar -zxf x.tar.gz
tar zxvf x.tar.gz
tar -zxvf x.tar.gz
tar zxpf x.tar.gz
tar -zxpf x.tar.gz
tar zxpvf x.tar.gz
tar -zxpvf x.tar.gz
解压提取 x.tar.gz 到 /tmp (指定解压目录位置)
用-C
(大写) 或 --directory
选项
# 解压 x.tar.gz 到指定文件夹 , 横杆(减号)可有可无, f要在最后
tar zxf x.tar.gz -C /tmp
tar -zxf x.tar.gz -C /tmp
tar zxvf x.tar.gz -C /tmp
tar -zxvf x.tar.gz -C /tmp
tar zxpf x.tar.gz -C /tmp
tar -zxpf x.tar.gz -C /tmp
tar zxpvf x.tar.gz -C /tmp
tar -zxpvf x.tar.gz -C /tmp
tar zxf x.tar.gz --directory /tmp
tar -zxf x.tar.gz --directory /tmp
tar zxvf x.tar.gz --directory /tmp
tar -zxvf x.tar.gz --directory /tmp
tar zxpf x.tar.gz --directory /tmp
tar -zxpf x.tar.gz --directory /tmp
tar zxpvf x.tar.gz --directory /tmp
tar -zxpvf x.tar.gz --directory /tmp
压缩
x
是提取解压 , c
是压缩创建
# 打包压缩的文件在前, 源文件在后
tar -zcvf x.tar.gz x.source
tar zcvf x.tar.gz x.source
tar -zcf x.tar.gz x.source
tar zcf x.tar.gz x.source
tar -cf x.tar.gz x.source
tar cf x.tar.gz x.source
tar 主要选项
-z
, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档-x
或 --extract 或 --get : 提取-c
(小写) 或 --create : 创建-C
(大写) 或 --directory : 指定文件夹-f
, --file=ARCHIVE : 使用归档文件或 ARCHIVE 设备 -f , --file 后接文件,所以要写在最后 -zxvf file 不能写成 -zxfv file
tar 次要选项
-v
, --verbose 详细地列出处理的文件 (显示过程) verbose:冗长的,详细的-p
(小写) 或 --same-permissions 或 --preserve-permissions 用原来的文件权限还原文件。 解压文件权限信息(默认只为超级用户服务)
例子
tar -zxpf /mnt/cdrom/VMwareTools-10.3.23-16594550.tar.gz -C /tmp
tar -zxpf /mnt/cdrom/VMwareTools-10.3.23-16594550.tar.gz --directory /tmp
不加横杆(减号)也能用
tar zxpf /mnt/cdrom/VMwareTools-10.3.23-16594550.tar.gz -C /tmp
tar zxpf /mnt/cdrom/VMwareTools-10.3.23-16594550.tar.gz --directory /tmp
tar 选项
-A或--catenate 新增文件到已存在的备份文件。
-b<区块数目>或--blocking-factor=<区块数目> 设置每笔记录的区块数目,每个区块大小为12Bytes。
-B或--read-full-records 读取数据时重设区块大小。
-c或--create 建立新的备份文件。
-C<目的目录>或--directory=<目的目录> 切换到指定的目录。
-d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
-f<备份文件>或--file=<备份文件> 指定备份文件。
-F<Script文件>或--info-script=<Script文件> 每次更换磁带时,就执行指定的Script文件。
-g或--listed-incremental 处理GNU格式的大量备份。
-G或--incremental 处理旧的GNU格式的大量备份。
-h或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。
-i或--ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF。
-k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
-K<文件>或--starting-file=<文件> 从指定的文件开始还原。
-l或--one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
-L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量,单位以1024 Bytes计算。
-m或--modification-time 还原文件时,不变更文件的更改时间。
-M或--multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
-N<日期格式>或--newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
-o或--old-archive或--portability 将资料写入备份文件时使用V7格式。
-O或--stdout 把从备份文件里还原的文件输出到标准输出设备。
-p或--same-permissions 用原来的文件权限还原文件。
-P或--absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
-r或--append 新增文件到已存在的备份文件的结尾部分。
-R或--block-number 列出每个信息在备份文件中的区块编号。
-s或--same-order 还原文件的顺序和备份文件内的存放顺序相同。
-S或--sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
-t或--list 列出备份文件的内容。
-T<范本文件>或--files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
-u或--update 仅置换较备份文件内的文件更新的文件。
-U或--unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
-v或--verbose 显示指令执行过程。
-V<卷册名称>或--label=<卷册名称> 建立使用指定的卷册名称的备份文件。
-w或--interactive 遭遇问题时先询问用户。
-W或--verify 写入备份文件后,确认文件正确无误。
-x或--extract或--get 从备份文件中还原文件。
-X<范本文件>或--exclude-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
-z或--gzip或--ungzip 通过gzip指令处理备份文件。
-Z或--compress或--uncompress 通过compress指令处理备份文件。
-<设备编号><存储密度> 设置备份用的外围设备编号及存放数据的密度。
--after-date=<日期时间> 此参数的效果和指定"-N"参数相同。
--atime-preserve 不变更文件的存取时间。
--backup=<备份方式>或--backup 移除文件前先进行备份。
--checkpoint 读取备份文件时列出目录名称。
--concatenate 此参数的效果和指定"-A"参数相同。
--confirmation 此参数的效果和指定"-w"参数相同。
--delete 从备份文件中删除指定的文件。
--exclude=<范本样式> 排除符合范本样式的文件。
--group=<群组名称> 把加入设备文件中的文件的所属群组设成指定的群组。
--help 在线帮助。
--ignore-failed-read 忽略数据读取错误,不中断程序的执行。
--new-volume-script=<Script文件> 此参数的效果和指定"-F"参数相同。
--newer-mtime 只保存更改过的文件。
--no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
--null 从null设备读取文件名称。
--numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
--owner=<用户名称> 把加入备份文件中的文件的拥有者设成指定的用户。
--posix 将数据写入备份文件时使用POSIX格式。
--preserve 此参数的效果和指定"-ps"参数相同。
--preserve-order 此参数的效果和指定"-A"参数相同。
--preserve-permissions 此参数的效果和指定"-p"参数相同。
--record-size=<区块数目> 此参数的效果和指定"-b"参数相同。
--recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
--remove-files 文件加入备份文件后,就将其删除。
--rsh-command=<执行指令> 设置要在远端主机上执行的指令,以取代rsh指令。
--same-owner 尝试以相同的文件拥有者还原文件。
--suffix=<备份字尾字符串> 移除文件前先行备份。
--totals 备份文件建立后,列出文件大小。
--use-compress-program=<执行指令> 通过指定的指令处理备份文件。
--version 显示版本信息。
--volno-file=<编号文件> 使用指定文件内的编号取代预设的卷册编号。
tar --help 或 tar -?
摘自fedora39
用法: tar [选项...] [FILE]...
GNU 'tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.
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.
主操作模式:
-A, --catenate, --concatenate 追加 tar 文件至归档
-c, --create 创建一个新归档
--delete 从归档(非磁带!)中删除
-d, --diff, --compare 找出归档和文件系统的差异
-r, --append 追加文件至归档结尾
--test-label 测试归档卷标并退出
-t, --list 列出归档内容
-u, --update 仅追加比归档中副本更新的文件
-x, --extract, --get 从归档中解出文件
操作修饰符:
--check-device 当创建增量归档时检查设备号(默认)
-g, --listed-incremental=FILE 处理新式的 GNU 格式的增量备份
-G, --incremental 处理老式的 GNU 格式的增量备份
--hole-detection=TYPE 用于探测holes 的技术
--ignore-failed-read
当遇上不可读文件时不要以非零值退出
--level=NUMBER 所创建的增量列表归档的输出级别
--no-check-device 当创建增量归档时不要检查设备号
--no-seek 归档不可检索
-n, --seek 归档可检索
--occurrence[=NUMBER] 仅处理归档中每个文件的第 NUMBER
个事件;仅当与以下子命令 --delete,
--diff, --extract 或是 --list
中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
-T 选项指定的;NUMBER 值默认为 1
--sparse-version=MAJOR[.MINOR]
设置所用的离散格式版本(隐含
--sparse)
-S, --sparse 高效处理离散文件
本地文件名选择:
--add-file=FILE 添加指定的 FILE 至归档(如果名字以 -
开始会很有用的)
-C, --directory=DIR 改变至目录 DIR
--exclude=PATTERN 排除以 PATTERN 指定的文件
--exclude-backups 排除备份和锁文件
--exclude-caches 除标识文件本身外,排除包含
CACHEDIR.TAG 的目录中的内容
--exclude-caches-all 排除包含 CACHEDIR.TAG 的目录
--exclude-caches-under 排除包含 CACHEDIR.TAG
的目录中所有内容
--exclude-ignore=FILE 若存在FILE,
则从其中读取每个目录的例外匹配项
--exclude-ignore-recursive=FILE
若存在FILE,
则从其中为每个目录及其子目录读取需要排除的例外匹配项
--exclude-tag=FILE 除 FILE 自身外,排除包含 FILE
的目录中的内容
--exclude-tag-all=FILE 排除包含 FILE 的目录
--exclude-tag-under=FILE 排除包含 FILE 的目录中的所有内容
--exclude-vcs 排除版本控制系统目录
--exclude-vcs-ignores 从VCS 忽略文件中读取排除匹配项
--no-null 禁用上一次的效果 --null 选项
--no-recursion 避免目录中的自动降级
--no-unquote 不要unquote 输入文件或成员名称
--no-verbatim-files-from -T
把以‘-’开始的文件作为选项(默认)
--null -T 读取以空终止的名字; 隐含
--verbatim-files-from
--recursion 目录递归(默认)
-T, --files-from=FILE 从 FILE
中获取文件名来解压或创建文件
--unquote unquote 输入文件或成员名称(默认)
--verbatim-files-from -T
逐字读取文件名(不处理选项或进行转义)
-X, --exclude-from=FILE 排除 FILE 中列出的模式串
文件名匹配选项(同时影响排除和包括模式串):
--anchored 模式串匹配文件名头部
--ignore-case 忽略大小写
--no-anchored 模式串匹配任意‘/’后字符(对
exclusion 为默认值)
--no-ignore-case 匹配大小写(默认)
--no-wildcards 逐字匹配字符串
--no-wildcards-match-slash 通配符不匹配‘/’
--wildcards 使用通配符(对 exclusion 为默认值)
--wildcards-match-slash wildcards match '/' (default)
重写控制:
--keep-directory-symlink 解压时保留已存在的目录符号链接
--keep-newer-files
不要替换比归档中副本更新的已存在的文件
-k, --keep-old-files 解压时不替换存在的文件,
而将其认为是错误
--no-overwrite-dir 保留已存在目录的元数据
--one-top-level[=DIR] 创建子目录以避免解压松散文件
--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
将解压的文件通过管道传送至另一个程序
操作文件属性:
--atime-preserve[=METHOD]
在输出的文件上保留访问时间,要么通过在读取(默认
METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
--clamp-mtime 当文件比 --mtime
指定的文件更新时仅更新时间
--delay-directory-restore
直到解压结束才设置修改时间和所解目录的权限
--group=名称 强制将 NAME
作为所添加的文件的组所有者
--group-map=FILE 用FILE 映射文件所有者GIDs 和名字
--mode=CHANGES 强制将所添加的文件(符号)更改为权限
CHANGES
--mtime=DATE-OR-FILE 从 DATE-OR-FILE 中为添加的文件设置
mtime
-m, --touch 不要解压文件的修改时间
--no-delay-directory-restore
取消 --delay-directory-restore 选项的效果
--no-same-owner
将文件解压为您所有(普通用户默认此项)
--no-same-permissions
从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
--numeric-owner 总是以数字代表用户/组的名称
--owner=名称 强制将 NAME
作为所添加的文件的所有者
--owner-map=FILE 用FILE 映射文件所有者UIDs 和名字
-p, --preserve-permissions, --same-permissions
解压文件权限信息(默认只为超级用户服务)
--same-owner
尝试解压时保持所有者关系一致(超级用户默认此项)
--sort=ORDER 目录排序顺序: none(默认), name 或inode
-s, --preserve-order, --same-order
成员参数按归档中的文件顺序列出
操作extended 文件属性:
--acls 开启 POSIX ACLs 支持
--no-acls 关闭 POSIX ACLs 支持
--no-selinux 关闭 SELinux 上下文支持
--no-xattrs 关闭extended 属性支持
--selinux 开启 SELinux 上下文支持
--xattrs 开启extended 属性支持
--xattrs-exclude=MASK 为xattr 关键字指定排除匹配项
--xattrs-include=MASK 为xattr 关键字指定包含匹配项
设备选择和切换:
--force-local
即使归档文件存在副本还是把它认为是本地归档
-f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备
-F, --info-script=名称, --new-volume-script=名称
在每卷磁带最后运行脚本(隐含 -M)
-L, --tape-length=NUMBER 写入 NUMBER × 1024 字节后更换磁带
-M, --multi-volume 创建/列出/解压多卷归档文件
--rmt-command=COMMAND 使用指定的 rmt COMMAND 代替 rmt
--rsh-command=COMMAND 使用远程 COMMAND 代替 rsh
--volno-file=FILE 使用/更新 FILE 中的卷数
设备分块:
-b, --blocking-factor=BLOCKS 每个记录 BLOCKS x 512 字节
-B, --read-full-records 读取时重新分块(只对 4.2BSD 管道有效)
-i, --ignore-zeros 忽略归档中的零字节块(即文件结尾)
--record-size=NUMBER 每个记录的字节数 NUMBER,乘以 512
选择归档格式:
-H, --format=FORMAT 创建指定格式的归档
FORMAT 是以下格式中的一种:
gnu GNU tar 1.13.x 格式
oldgnu GNU 格式,其中 tar 版本 <= 1.12
pax POSIX 1003.1-2001 (pax) 格式
posix 等同于 pax
ustar POSIX 1003.1-1988 (ustar) 格式
v7 旧的 V7 tar 格式
--old-archive, --portability
等同于 --format=v7
--pax-option=关键字[[:]=值][,关键字[[:]=值]]...
控制 pax 关键字
--posix 等同于 --format=posix
-V, --label=TEXT 创建带有卷名 TEXT
的归档;在列出/解压时,使用 TEXT
作为卷名的模式串
压缩选项:
-a, --auto-compress 使用归档后缀名来决定压缩程序
-I, --use-compress-program=PROG
通过 PROG 过滤(必须是能接受 -d
选项的程序)
-j, --bzip2 通过 bzip2 过滤归档
-J, --xz 通过 xz 过滤归档
--lzip 通过 lzip 过滤归档
--lzma 通过 xz --format=lzma 过滤归档
--lzop 通过 lzop 过滤归档
--no-auto-compress 不使用归档后缀名来决定压缩程序
--zstd 通过 zstd 过滤归档
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-Z, --compress, --uncompress 通过 compress 过滤归档
本地文件选择:
--backup[=CONTROL] 在删除前备份,选择 CONTROL 版本
--hard-dereference
跟踪硬链接;将它们所指向的文件归档并输出
-h, --dereference
跟踪符号链接;将它们所指向的文件归档并输出
-K, --starting-file=MEMBER-NAME
从归档中的 MEMBER-NAME
成员处开始读取归档
--newer-mtime=DATE 当只有数据改变时比较数据和时间
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
只保存比 DATE-OR-FILE 更新的文件
--one-file-system 创建归档时保存在本地文件系统中
-P, --absolute-names 不要从文件名中清除引导符‘/’
--suffix=STRING 在删除前备份,除非被环境变量
SIMPLE_BACKUP_SUFFIX
覆盖,否则覆盖常用后缀(‘’)
文件名变换:
--strip-components=NUMBER 解压时从文件名中清除 NUMBER
个引导部分
--transform=EXPRESSION, --xform=EXPRESSION
使用 sed 代替 EXPRESSION
来进行文件名变换
提示性输出:
--checkpoint[=NUMBER] 每隔 NUMBER
个记录显示进度信息(默认为 10 个)
--checkpoint-action=ACTION 在每个检查点上执行 ACTION
--full-time 按文件原本时间格式打印
--index-file=FILE 将详细输出发送至 FILE
-l, --check-links
只要不是所有链接都被输出就打印信息
--no-quote-chars=STRING 禁用来自 STRING 的字符引用
--quote-chars=STRING 来自 STRING 的额外的引用字符
--quoting-style=STYLE 设置名称引用风格;有效的 STYLE
值请参阅以下说明
-R, --block-number 每个信息都显示归档内的块数
--show-defaults 显示 tar 默认选项
--show-omitted-dirs
列表或解压时,列出每个不匹配查找标准的目录
--show-snapshot-field-ranges
显示快照文件区的有效范围
--show-transformed-names, --show-stored-names
显示变换后的文件名或归档名
--totals[=SIGNAL] 处理归档后打印出总字节数;当此
SIGNAL 被触发时带参数 -
打印总字节数;允许的信号为:
SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
SIGUSR2;同时也接受不带 SIG
前缀的信号名称
--utc 以 UTC 格式打印文件修改时间
-v, --verbose 详细地列出处理的文件
--warning=KEYWORD 警告控制
-w, --interactive, --confirmation
每次操作都要求确认
兼容性选项:
-o 创建归档时,相当于
--old-archive;展开归档时,相当于
--no-same-owner
其它选项:
-?, --help 显示此帮助列表
--restrict 禁用某些潜在的有危险的选项
--usage 显示简短的用法说明
--version 打印程序版本
长选项和相应短选项具有相同的强制参数或可选参数。
The backup suffix is '~', unless set with --suffix or SIMPLE_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
--quoting-style 选项的有效参数为:
literal
shell
shell-always
shell-escape
shell-escape-always
c
c-maybe
escape
locale
clocale
此 tar 默认为:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt
--rsh-command=/usr/bin/ssh
man tar
摘自 fedora39
TAR(1) tar TAR(1)
名字
tar - tar 档案文件管理程序的 GNU 版本。
总览
tar <操作参数> [选项]
操作参数:
[‐]A ‐‐catenate ‐‐concatenate
[‐]c ‐‐create
[‐]d ‐‐diff ‐‐compare
[‐]r ‐‐append
[‐]t ‐‐list
[‐]u ‐‐update
[‐]x ‐‐extract ‐‐get
‐‐delete
常用选项:
‐C, ‐‐directory 目录
‐f, ‐‐file 文件
‐j, ‐‐bzip2
‐J, ‐‐xz
‐p, ‐‐preserve‐permissions
‐v, ‐‐verbose
‐z, ‐‐gzip
所有选项:
[ ‐a, ‐‐auto‐compress ] [ ‐‐add‐file 文件 ] [ ‐‐anchored ] [ ‐‐atime‐preserve ] [ ‐b, ‐‐blocking‐factor N ] [ ‐B, ‐‐read‐full‐records ] [ ‐‐backup[=备份类型] ] [ ‐‐block‐compress ] [ ‐C,
‐‐directory 目录 ] [ ‐‐checkpoint ] [ ‐‐delay‐directory‐restore ] [ ‐‐exclude 文件或目录 ] [ ‐‐exclude‐caches ] [ ‐‐exclude‐caches‐all ] [ ‐‐exclude‐caches‐under ] [ ‐‐exclude‐tag 文件 ] [
‐‐exclude‐tag‐all 文件 ] [ ‐‐exclude‐tag‐under 文件 ] [ ‐f, ‐‐file [主机名:]文件 ] [ ‐F, ‐‐info‐script 文件, ‐‐new‐volume‐script 文件 ] [ ‐‐force‐local ] [ ‐‐format 格式 ] [ ‐g, ‐‐listed‐
incremental 快照 ] [ ‐G, ‐‐incremental ] [ ‐‐group 组 ] [ ‐h, ‐‐dereference ] [ ‐‐help ] [ ‐i, ‐‐ignore‐zeros ] [ ‐I, ‐‐use‐compress‐program 程序 ] [ ‐‐ignore‐case ] [ ‐‐ignore‐command‐error ]
[ ‐‐ignore‐failed‐read ] [ ‐‐index‐file 文件 ] [ ‐j, ‐‐bzip2 ] [ ‐J, ‐‐xz ] [ ‐k, ‐‐keep‐old‐files ] [ ‐K, ‐‐starting‐file 文件 ] [ ‐‐keep‐newer‐files ] [ ‐l, ‐‐check‐links ] [ ‐L, ‐‐tape‐
length N ] [ ‐‐lzip ] [ ‐‐lzma ] [ ‐‐lzop ] [ ‐m, ‐‐touch, ‐‐modification‐time ] [ ‐M, ‐‐multi‐volume ] [ ‐‐mode 权限 ] [ ‐‐mtime 日期 ] [ ‐N, ‐‐after‐date 日期, ‐‐newer 日期 ] [ ‐‐newer‐mtime
日期 ] [ ‐‐no‐anchored ] [ ‐‐no‐auto‐compress ] [ ‐‐no‐delay‐directory‐restore ] [ ‐‐no‐ignore‐case ] [ ‐‐no‐ignore‐command‐error ] [ ‐‐no‐overwrite‐dir ] [ ‐‐no‐quote‐chars ] [ ‐‐no‐recursion
] [ ‐‐no‐same‐permissions ] [ ‐‐no‐unquote ] [ ‐‐no‐wildcards ] [ ‐‐no‐wildcards‐match‐slash ] [ ‐‐null ] [ ‐‐numeric‐owner ] [ ‐o, ‐‐old‐archive, ‐‐portability, ‐‐no‐same‐owner ] [ ‐O, ‐‐to‐
stdout ] [ ‐‐occurrence 次数 ] [ ‐‐one‐file‐system ] [ ‐‐overwrite ] [ ‐‐overwrite‐dir ] [ ‐‐owner 用户 ] [ ‐p, ‐‐same‐permissions, ‐‐preserve‐permissions ] [ ‐P, ‐‐absolute‐names ] [ ‐‐pax‐
option 关键字列表 ] [ ‐‐posix ] [ ‐‐preserve ] [ ‐‐quote‐chars 字符串 ] [ ‐‐quote‐style 风格 ] [ ‐R, ‐‐block‐number ] [ ‐‐record‐size 字节数 ] [ ‐‐recursion ] [ ‐‐recursive‐unlink ] [ ‐‐remove‐
files ] [ ‐‐restrict ] [ ‐‐rmt‐command 命令 ] [ ‐‐rsh‐command 命令 ] [ ‐s, ‐‐same‐order, ‐‐preserve‐order ] [ ‐S, ‐‐sparse ] [ ‐‐same‐owner ] [ ‐‐show‐defaults ] [ ‐‐show‐omitted‐dirs ] [
‐‐show‐transformed‐names, ‐‐show‐stored‐names ] [ ‐‐strip‐components 目录层数 ] [ ‐‐suffix 后缀 ] [ ‐T, ‐‐files‐from 文件 ] [ ‐‐test‐label ] [ ‐‐to‐command 命令 ] [ ‐‐transform sed表达式 ] [
‐‐totals ] [ ‐U, ‐‐unlink‐first ] [ ‐‐unquote ] [ ‐‐utc ] [ ‐v, ‐‐verbose ] [ ‐V, ‐‐label 名称 ] [ ‐‐version ] [ ‐‐volno‐file 文件 ] [ ‐w, ‐‐interactive, ‐‐confirmation ] [ ‐W, ‐‐verify ] [
‐‐wildcards ] [ ‐‐wildcards‐match‐slash ] [ ‐X, ‐‐exclude‐from 文件 ] [ ‐z, ‐‐gzip, ‐‐gunzip, ‐‐ungzip ] [ ‐Z, ‐‐compress, ‐‐uncompress ] [ ‐[0‐7][lmh] ]
描述
这是tar的GNU版本的手册页。 tar是一个用于储存或提取tar文件的程序。 tar文件可放在磁盘中, 也可以存为普通文件。 tar 的第一个参数必须是操作参数A、c、d、r、t、u、x 中的一个,
参数后面可跟着任意可选选项。 tar的最后一个参数是你要处理的文件或目录的名字。 如果你指定了一个目录, 该目录的所有子目录都将被加入存档。
应用举例
tar ‐xvf foo.tar
提取 foo.tar 文件并显示提取过程
tar ‐xzf foo.tar.gz
提取用 gzip 压缩的文件 foo.tar.gz
tar ‐cjf foo.tar.bz2 bar/
用 bzip 为目录 bar 创建一个叫做 foo.tar.bz2存档
tar ‐xjf foo.tar.bz2 ‐C bar/
把用 bzip 压缩的文件 foo.tar.bz2 提取到 bar 目录
tar ‐xzf foo.tar.gz blah.txt
把文件 blah.txt 从 foo.tar.gz 中提取出来
注意: 当压缩或提取的时候, 压缩类型选项常常是不必需的, 因为tar会根据文件的后缀自动选择压缩类型。
参数说明
下列参数中必须有至少一个被使用:
‐A, ‐‐catenate, ‐‐concatenate
将一存档与已有的存档合并
‐c, ‐‐create
创建一个新的存档
‐d, ‐‐diff, ‐‐compare
比较存档与相应的未存档文件的不同之处
‐r, ‐‐append
将文件附加到存档结尾
‐t, ‐‐list
列出存档中文件的目录
‐u, ‐‐update
仅将较新的文件附加到存档中
‐x, ‐‐extract, ‐‐get
从存档提取文件
‐‐delete
把指定文件从存档中删除(不要用于磁带!)
常用选项
‐C, ‐‐directory 目录
提取存档到指定目录
‐f, ‐‐file [主机名:]文件
指定存档或设备中的文件 (默认是 "‐", 表示 标准输入/输出)
‐j, ‐‐bzip2
用 bzip2 处理存档; 用于 .bz2 文件
‐J, ‐‐xz
用 xz 处理存档; 用于 .xz 文件
‐p, ‐‐preserve‐permissions
提取所有保护信息
‐v, ‐‐verbose
显示文件处理过程
‐z, ‐‐gzip, ‐‐ungzip
用 gzip 处理存档; 用于 .gz 文件
所有选项
‐a, ‐‐auto‐compress
根据存档后缀来选择压缩程序
‐‐add‐file 文件
添加指定文件到存档 (对以下标线开头的文件很有用)
‐‐anchored
patterns will match the start of file names
‐‐atime‐preserve
不改变存档中文件的访问时间
‐b, ‐‐blocking‐factor N
指定块大小为 Nx512 字节(默认N=20)
‐B, ‐‐read‐full‐blocks
读取时重组块 (用于读取4.2BSD pipes)
‐‐backup[=备份类型]
备份文件而不是删除它们, 备份类型有simple、numbered等
‐‐block‐compress
让磁带的输出结果成块输出
‐C, ‐‐directory 目录
提取文档到指定目录
‐‐checkpoint
读取存档时显示目录名
‐‐delay‐directory‐restore
延迟对已提取目录的修改时间和权限的设定, 直到提取结束
‐‐exclude 文件或目录
排除指定文件或目录
‐‐exclude‐caches
排除带有 缓存目录 标记的目录
‐‐exclude‐tag 文件
排除包含指定文件的目录
‐f, ‐‐file [主机名:]文件
指定存档或设备中的文件 (默认是 "‐", 表示 标准输入/输出)
‐F, ‐‐info‐script 文件, ‐‐new‐volume‐script 文件
在每卷磁带的结尾运行脚本 (会应用‐‐multi‐volume选项)
‐‐force‐local
存档文件是本地的, 即使它的名称中含有冒号
‐‐format FORMAT
选择创建存档的格式
v7 ‐ Unix V7
oldgnu ‐ GNU tar <=1.12
gnu ‐ GNU tar 1.13
ustar ‐ POSIX.1‐1988
posix ‐ POSIX.1‐2001
‐g, ‐‐listed‐incremental 快照
创建/列出/提取 新GNU格式的增量备份
‐‐group 组
将添加到存档的文件的组标识设置为指定组, 而不是源文件所在的组; 这个选项对提取无效
‐G, ‐‐incremental
创建/列出/提取 旧GNU格式的增量备份
‐h, ‐‐dereference
不存入符号链接; 存入链接指向的文件
‐‐help 显示像本手册这样的帮助信息, 但不像这么详细
‐i, ‐‐ignore‐zeros
忽略存档中的 0 字节块 (那通常意味着文件结束)
‐I, ‐‐use‐compress‐program 程序
通过指定程序访问存档 (该程序通常是一个压缩程序; 它需能接受 ‐d 参数)
‐‐ignore‐case
排除文件时不区分大小写
‐‐ignore‐command‐error
忽略子程序的退出代码
‐‐ignore‐failed‐read
遇到不可读文件的非零状态不退出
‐‐index‐file 文件
将处理过程信息输出到指定文件, 而不是输出到标准输出
‐j, ‐‐bzip2
用 bzip2 处理存档, 用于 .bz2 文件
‐J, ‐‐xz
用 xz 处理存档, 用于 .xz 文件
‐k, ‐‐keep‐old‐files
保留已存在的文件; 不用存档中的文件覆盖它们
‐K, ‐‐starting‐file FILE
从存档中的指定文件处开始
‐‐keep‐newer‐files
不覆盖比存档新的文件
‐l, ‐‐check‐links
如果文件系统中文件的硬链接数和存档中记录的不同, 则发出警告
‐L, ‐‐tape‐length N
在写入了N*1024字节后, 更换磁带
‐m, ‐‐touch, ‐‐modification‐time
不提取文件的修改时间
‐M, ‐‐multi‐volume
创建/列出/提取 多卷存档
‐‐mode 权限
添加文件时应用指定的权限 (参看 chmod(1))
‐‐mtime 日期
当创建存档时, 使用指定日期作为存档成员的修改日期, 而不是使用文件的实际修改时间
‐N, ‐‐after‐date 日期, ‐‐newer 日期
只存储在指定日期后有修改或状态更新 (权限, ACLs, 扩展属性, ...)的文件
‐‐newer‐mtime 日期
和 ‐‐newer 类似, 但是只存储指定日期后有修改的文件
‐‐no‐anchored
匹配任意‘/’后字符项‐‐exclude一起使用
‐‐no‐auto‐compress
不根据存档后缀来决定使用哪个压缩程序
‐‐no‐delay‐directory‐restore
在目录中的所有文件都被提取完成时, 就设定该目录的修改时间和权限; 这是默认设置
‐‐no‐ignore‐command‐error
对以非零状态终止的子程序的显示警告
‐‐no‐ignore‐case
用 ‐‐exclude 匹配时区分大小写
‐‐no‐overwrite‐dir
从存档中提取文件时, 保留已存在目录的元数据。
‐‐no‐quote‐chars 字符串
把指定字符串中的字符从‐‐quote‐chars选项指定的字符中去除
‐‐no‐recursion
不递归进入子目录
‐‐no‐same‐permissions
提取时应用用户的umask, 而不是用已记录的权限
‐‐no‐unquote
将所有输入文件或成员的名字作为普通文字, 不解释转义序列
‐‐no‐wildcards
不对‐‐exclude使用通配符
‐‐no‐wildcards‐match‐slash
‐‐exclude的通配符不匹配斜杠(/)
‐‐null ‐‐files‐from读取以空值终止的名字, 禁用‐‐directory
‐‐numeric‐owner
总是用数字作为 用户/组 的名字
‐o, ‐‐old‐archive, ‐‐portability
相当于‐‐format=v7; 当创建存档时‐o选项表示这个行为 (已弃用的行为)
‐o, ‐‐no‐same‐owner
提取时不恢复所有权; 当提取时‐o选项表示这个行为
‐O, ‐‐to‐stdout
将文件提取到标准输出
‐‐occurrence 次数
只处理指定次数每个已被命名的文件的在操作中的出现; 用于‐‐delete, ‐‐diff, ‐‐extract, 或 ‐‐list
‐‐one‐file‐system
创建存档时停留在本地文件系统
‐‐overwrite
提取时覆盖已存在的文件和目录中的元数据
‐‐overwrite‐dir
提取时覆盖目录中的元数据
‐‐owner 用户
将文件所有者设为指定用户, 而不是原文件的所有者; 这个选项对提取无效
‐p, ‐‐preserve‐permissions, ‐‐same‐permissions
提取所有保护信息
‐P, ‐‐absolute‐names
将文件名开头的“/”符号看作文件名的一部分
‐‐pax‐option 关键字列表
修改tar处理扩展头关键字的方式, 只用于POSIX.1‐2001存档
‐‐posix
相当于‐‐format=posix
‐‐preserve
相当于‐‐preserve‐permissions加上‐‐same‐order
‐‐quote‐chars 字符串
总是标出指定字符串中包含的的字符, 即使已选择的标识风格不标识它们
‐‐quote‐style 风格
设定显示成员和文件名称的标识风格
‐R, ‐‐record‐number
显示存档中每条信息的记录数字
‐‐record‐size 字节数
访问存档时每条记录使用指定的字节数
‐‐recursion
递归进入目录
‐‐recursive‐unlink
提取目录之前先把存在的相同名称的目录删除
‐‐remove‐files
把文件加入到存档后删除这些文件
‐‐restrict
禁用一些有潜在害处的选项; 目前这会禁用多卷菜单中对shell的调用
‐‐rmt‐command 命令
用指定的命令代替默认的/usr/sbin/rmt
‐‐rsh‐command 命令
用指定的远程命令代替rsh(1)
‐s, ‐‐same‐order, ‐‐preserve‐order
名称列表会被排序以匹配存档
‐S, ‐‐sparse
高效地处理稀疏文件
‐‐same‐owner
以相同的所有权创建提取出的文件
‐‐show‐defaults
显示tar使用的默认选项
‐‐show‐omitted‐dirs
显示提取时tar跳过的目录
‐‐show‐transformed‐names, ‐‐show‐stored‐names
应用了任何sed转换之后, 显示文件或成员名字
‐‐strip‐components 目录层数
在提取前, 把文件从前往后指定层数的目录都从提取路径中去掉, 如果文件包含在指定层数中, 则不被提取
‐‐suffix 后缀
备份文件时, 使用指定的后缀, 而不是使用默认后缀‘~’
‐T, ‐‐files‐from 文件
从指定文件中获得要提取或创建的存档的名字
‐‐test‐label
读取卷标; 如果一个词被指定了, 则测试它是否匹配这个卷标
‐‐to‐command 命令
提取期间, 将提取的文件导入到指定命令的标准输入
‐‐totals
显示用‐‐create参数写入的总字节数
‐‐transform sed表达式
用sed的转换表达式转换文件或成员的名字
‐U, ‐‐unlink‐first
提取文件之前,删除已存在的与之同名的文件
‐‐unquote
不标识输入文件或成员的名字; 这是默认选项
‐‐utc 以UTC时间显示文件的修改日期
‐v, ‐‐verbose
列出文件的处理情况
‐V, ‐‐label 名称
用指定卷名创建存档
‐‐version
显示tar程序的版本信息
‐‐volno‐file 文件
保持追踪指定文件中多卷存档的卷编号; 和‐‐multi‐volume一起使用
‐w, ‐‐interactive, ‐‐confirmation
每一个动作都要求确认
‐W, ‐‐verify
写完存档后对其进行校验
‐‐wildcards
对‐‐exclude用通配符
‐‐wildcards‐match‐slash
‐‐exclude的通配符匹配斜杠(/)
‐X, ‐‐exclude‐from 文件
排除列在指定文件中的文件
‐z, ‐‐gzip, ‐‐gunzip, ‐‐ungzip
用gzip对存档进行操作
‐Z, ‐‐compress, ‐‐uncompress
用compress对存档进行操作
‐[0‐7][lmh]
指定驱动器[0‐7]和压缩密度[低中高]
BUGS
GNU世界的人, 通常不喜欢man手册, 而是写文档代替之。 tar的维护者也是如此。 所以, 这个man手册页可能会不完全, 或者不够新, 它被包含在Gentoo的portage树中, 因为man是一个非常好的工具:)。
这个man手册页最初取自Debian Linux, 从那时起已在这里被很好地更新。
报告 BUGS
请通过 http://bugs.gentoo.org/ 报告Bug。 翻译问题请联系译者或到 https://github.com/lidaobing/manpages‐zh/ 提交问题
作者
Debian Linux http://www.debian.org/
Mike Frysinger <[email protected]>
译者
CMPP 中文手册页计划 http://cmpp.linuxforum.net (2001/08/08)
Saigut <[email protected]> (2013/11/09)
中文版最新更新
2014/10/04
跋
本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man‐pages‐zh/manpages‐zh
GNU Mar 2010 TAR(1)