一、命令介绍

  Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后缀亦为“tar”。tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,当前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar。
  tar代表未压缩的tar文件。已压缩的tar文件则附加压缩文件的扩展名,如经过gzip压缩后的tar文件,扩展名为“.tar.gz”。由于受到DOS8.3文件名格式的限制,常使用下列缩写:

  • .tgz等价于.tar.gz
  • .tbz与tb2等价于.tar.bz2
  • .taz等价于.tar.Z
  • .tlz等价于.tar.lzma
  • .txz等价于.tar.xz

二、使用示例

1、打包多个文件和目录

[root@test1 wuhs]# tar -cvf test.tar test test.zip wuhs.zip
 test/
 test/hello.txt
 test/hello.txt.zip
 test.zip
 wuhs.zip

2、将文件追加到档案文件末尾

[root@test1 wuhs]# tar -r hi.txt -f test.tar

3、将文件释放到指定目录

[root@test1 wuhs]# mkdir abc
 [root@test1 wuhs]# tar -xvf test.tar -C abc
 test/
 test/hello.txt
 test/hello.txt.zip
 test.zip
 wuhs.zip
 hi.txt

4、打包并使用gzip压缩多个文件或目录

[root@test1 wuhs]# [root@test1 wuhs]# tar -zcvf test.tar.gz test test.zip wuhs.zip
 test/
 test/hello.txt
 test/hello.txt.zip
 test.zip
 wuhs.zip

5、使用gzip解压并释放档案文件到当前目录

[root@test1 wuhs]# tar -zxvf test.tar.gz
 test/
 test/hello.txt
 test/hello.txt.zip
 test.zip
 wuhs.zip

6、打包归档时排除指定目录或文件

[root@test1 wuhs]# tar -zcvf wuhs.tar.gz /home/wuhs/ --exclude=test*

7、列出打包归档的文件

[root@test1 wuhs]# tar -tzvf test.tar.gz
 drwxr-xr-x root/root 0 2021-02-06 19:55 test/
 -rw-r–r-- root/root 15 2021-02-06 19:16 test/hello.txt
 -rw-r–r-- root/root 183 2021-02-06 19:18 test/hello.txt.zip
 -rw-r–r-- root/root 678 2021-02-06 20:01 test.zip
 -rw-r–r-- root/root 2140 2021-02-06 19:58 wuhs.zip

8、归档隐藏文件夹

  tar命令如果是tar包当前目录下的所有文件,默认是只将显示文件归档为一个文件,如果需要归档当前目录下的所有文件,包括显示和隐藏文件,我们可以加上.[!.]* 参数实现。当然如果是回到上一次显示目录下执行tar操作则会归档所有文件,即显示文件夹下的所有文件都会归档处理。

[root@s152 test]# tar -cvf 1.tar.gz *
 tar: 1.tar.gz: 文件是归档文件;未输出
 a.txt
 bb.txt
 b.txt
 b.txt.bak
 c.txt
 fwarp.txt
 txt.tar.gz
 [root@s152 test]# tar -cvf 1.tar.gz * .[!.]*
 tar: 1.tar.gz: 文件是归档文件;未输出
 a.txt
 bb.txt
 b.txt
 b.txt.bak
 c.txt
 fwarp.txt
 txt.tar.gz
 .aa/
 .aa/a.txt
 .aa.txt

tar 转 镜像_压缩

三、参数说明

1、主选项

  • -c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
  • -r 把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
  • -t 列出档案文件的内容,查看已经备份了哪些文件。
  • -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
  • -x 从档案文件中释放文件。

2、辅助选项:

  • -b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
  • -f 使用档案文件或设备,这个选项通常是必选的。
  • -k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
  • -m 在还原文件时,把所有文件的修改时间设定为。
  • -M 创建多卷的档案文件,以便在几个磁盘中存放。
  • -v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
  • -w 每一步都要求确认。
  • -j 代表使用‘bzip2’程序进行文件的压缩
  • -J代表调用“xz”程序进行文件的压缩(但在RHEL5的1.53上面无法使用,在RHEL6的2.23上面可以使用)
  • -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
  • -A,–catenate,–concatenate
    将一存档与已有的存档合并
  • -d,–diff,–compare
    比较存档与当前文件的不同之处
  • –delete
    从存档中删除
    其他参数
  • –atime-preserve
    不改变转储文件的存取时间
  • -b,–block-size N
    指定块大小为 Nx512 字节(缺省时 N=20)
  • -B,–read-full-blocks
    读取时重组块(???!!!)
  • -C,–directory DIR
    转到指定的目录
  • –checkpoint
    读取存档时显示目录名
  • -f,–file [HOSTNAME:]F
    指定存档或设备 (缺省为 /dev/rmt0)
  • –force-local
    强制使用本地存档,即使存在克隆
  • -F,–info-script F --new-volume-script F
    在每个磁盘结尾使用脚本 F (隐含 -M)
  • -G,–incremental
    建立老 GNU 格式的备份
  • -g,–listed-incremental F
    建立新 GNU 格式的备份
  • -h,–dereference
    不转储动态链接,转储动态链接指向的文件。
  • -i,–ignore-zeros
    忽略存档中的 0 字节块(通常意味着文件结束)
  • –ignore-failed-read
    当遇上不可读文件时不要以非零值退出
  • -k,–keep-old-files
    保存现有文件;从存档中展开时不进行覆盖
  • -K,–starting-file F
    从存档文件 F 开始
  • -l,–one-file-system
    在本地文件系统中创建存档
  • -L,–tape-length N
    在写入 N*1024 个字节后暂停,等待更换磁盘
  • -m,–modification-time
    当从一个档案中恢复文件时,不使用新的时间标签
  • -M,–multi-volume
    建立多卷存档,以便在几个磁盘中存放
  • -N,–after-date DATE,–newer DATE
    仅存储时间较新的文件
  • -o,–old-archive,–portability
    以 V7 格式存档,不用 ANSI 格式
  • -O,–to-stdout
    将文件展开到标准输出
  • -p,–same-permissions,–preserve-permissions
    展开所有保护信息
  • -P,–absolute-paths
    不要从文件名中去除 ‘/’
  • –preserve
    like -p -s
    与 -p -s 相似
  • -R,–record-number
    显示信息时同时显示存档中的记录数
  • –remove-files
    建立存档后删除源文件
  • -s,–same-order,–preserve-order
    为解压至匹配归档排序名称
  • –same-owner
    展开以后使所有文件属于同一所有者
  • -S,–sparse
    高效处理
  • -T,–files-from F
    从文件中得到要展开或要创建的文件名
  • –null
    读取空结束的文件名,使 -C 失效
  • –totals
    显示用 --create 参数写入的总字节数
  • -v,–verbose
    详细显示处理的文件
  • -V,–label NAME
    为存档指定卷标
  • –version
    显示 tar 程序的版本号
  • -w,–interactive,–confirmation
    每个操作都要求确认
  • -W,–verify
    写入存档后进行校验
  • –exclude FILE
    不把指定文件包含在内
  • -X,–exclude-from FILE
    从指定文件中读入不想包含的文件的列表
  • -y,–bzip2,–bunzip2
    用 bzip2 对存档压缩或解压
  • -Z,–compress,–uncompress
    用 compress 对存档压缩或解压
  • -z,–gzip,–ungzip
    用 gzip 对存档压缩或解压
  • –use-compress-program PROG
    用 PROG 对存档压缩或解压 ( PROG 需能接受 -d 参数)
  • –block-compress
    为便于磁盘存储,按块记录存档
  • -[0-7][lmh]
    指定驱动器和密度[低中高]