Linux解压缩命令 tar -zxvf 压缩-zcvf 到指定文件夹-C

  • tar -zxvf x.tar.gz 解压提取 x.tar.gz
  • tar -zcvf x.tar.gz x.source 将 x.source 压缩打包为 x.tar.gz
  • tar -zxvf x.tar.gz --directory /tmp 解压提取 x.tar.gz 到 /tmp 文件夹

解压提取 x.tar.gz 到当前文件夹

横杆(减号)可有可无, f要在最后

# 解压 x.tar.gz 到当前文件夹 , 横杆(减号)可有可无, f要在最后tar zxf x.tar.gztar -zxf x.tar.gztar zxvf x.tar.gztar -zxvf x.tar.gztar zxpf x.tar.gztar -zxpf x.tar.gztar zxpvf x.tar.gztar -zxpvf x.tar.gz

解压提取 x.tar.gz 到 /tmp (指定解压目录位置)

-C(大写) 或 --directory选项

# 解压 x.tar.gz 到指定文件夹 , 横杆(减号)可有可无, f要在最后tar zxf x.tar.gz -C /tmptar -zxf x.tar.gz -C /tmptar zxvf x.tar.gz -C /tmptar -zxvf x.tar.gz -C /tmptar zxpf x.tar.gz -C /tmptar -zxpf x.tar.gz -C /tmptar zxpvf x.tar.gz -C /tmptar -zxpvf x.tar.gz -C /tmptar zxf x.tar.gz --directory /tmptar -zxf x.tar.gz --directory /tmptar zxvf x.tar.gz --directory /tmptar -zxvf x.tar.gz --directory /tmptar zxpf x.tar.gz --directory /tmptar -zxpf x.tar.gz --directory /tmptar zxpvf x.tar.gz --directory /tmptar -zxpvf x.tar.gz --directory /tmp

压缩

x是提取解压 , c是压缩创建

# 打包压缩的文件在前, 源文件在后tar -zcvf x.tar.gz x.sourcetar zcvf x.tar.gz x.sourcetar -zcf x.tar.gz x.sourcetar zcf x.tar.gz x.sourcetar -cf x.tar.gz x.sourcetar 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 canrestore 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 中获取文件名来解压或创建文件--unquoteunquote 输入文件或成员名称(默认)--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 是以下格式中的一种:gnuGNU tar 1.13.x 格式oldgnu GNU 格式,其中 tar 版本 <= 1.12paxPOSIX 1003.1-2001 (pax) 格式posix等同于 paxustarPOSIX 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 backupst, numbered make numbered backupsnil, existing numbered if numbered backups exist, simple otherwisenever, simple always make simple backups--quoting-style 选项的有效参数为:literalshellshell-alwaysshell-escapeshell-escape-alwayscc-maybeescapelocaleclocale此 tar 默认为:--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt--rsh-command=/usr/bin/ssh

man tar

摘自 fedora39

TAR(1) tarTAR(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 文件添加指定文件到存档 (对以下标线开头的文件很有用) ‐‐anchoredpatterns 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 V7oldgnu ‐ GNU tar <=1.12gnu ‐ GNU tar 1.13ustar ‐ POSIX.1‐1988posix ‐ 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 <vapier@gentoo.org>译者 CMPP 中文手册页计划 http://cmpp.linuxforum.net (2001/08/08) Saigut <gosaigut@gmail.com> (2013/11/09)中文版最新更新 2014/10/04跋 本页面中文版由中文 man 手册页计划提供。 中文 man 手册页计划:https://github.com/man‐pages‐zh/manpages‐zhGNU Mar 2010TAR(1)