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.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 <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‐zh

GNU                                                                                             Mar 2010                                                                                          TAR(1)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐