tar打包,及打包压缩

  1. 命令语法
    tar [-zjxcvfpP] 打包的名称 要打包的文件或目录

  2. 命令描述
    首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
    为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
    tar本身就是一个打包工具,可以把目录打包成一个文件,它把所有文件整合成一个大文件,方便复制或者移动。

  3. 命令选项
    -z 表示同时用gzip压缩;
    -j 表示同时用bzip2压缩;
    -J 表示同时用xz压缩;
    -x 表示解包或者解压缩;
    -t 表示查看tar包里的文件;
    -c 表示建立一个tar包或者压缩文件包。
    -v 表示可视化
    -f 后面跟文件名(即-f filename 表示压缩后的文件名为filename,或者解压缩文件filename。需要注意的是,如果是多个参数组合的情况下,请把-f参数写到最后面)。
    -P 表示使用原文件的属性,压缩前什么属性压缩后还是什么属性。
    -p 表示可以使用绝对路径。
    –exclude filename 表示在打包或压缩时,不要将filename文件包括在内。可以写多个exclude用空格分开。

  4. 命令示例

    • 打包并解包
[root@localhost d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  dl  dl.zip  test    
[root@localhost d6z]# tar -cvf dl.tar dl        //打包dl目录为dl.tar;
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl
[root@localhost d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  dl  dl.tar  dl.zip  test
[root@localhost d6z]# du -sh dl.tar    //打包后的目录大小不变;
1.3M    dl.tar
[root@localhost d6z]# tar -xvf dl.tar    //解包,解包的时候会覆盖你原来的目录或文件《打包后的文件和原文件在同一目录下的情况》。
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl
[root@localhost d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  dl  dl.tar  dl.zip  test

  • 查看打包后的目录列表
[root@localhost d6z]# tar -tf dl.tar        //查看打包后的目录列表。使用cat命令也可以查看文件的内容。
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl

  • 打包并不要将filename文件包括在内
[root@localhost d6z]# tar -cvf dddd.tar --exclude dl 3.txt 4.txt    //在打包时,不要将filename文件包括在内
3.txt
4.txt
[root@localhost d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  dddd.tar  dl  dl.tar  dl.zip  test

  • tar打包并压缩,查看文件大小并查看打包压缩后的目录列表
[root@localhost d6z]# tar -czvf dl.tar.gz  dl 3.txt 4.txt    //使用tar打包,并使用gzip压缩
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl
3.txt
4.txt
[root@localhost d6z]# ls
1.txt.bz2  2.txt.zip  4.txt     dl      dl.tar.gz  test
2.txt      3.txt      dddd.tar  dl.tar  dl.zip
[root@localhost d6z]# du -sh dl.tar.gz    //打包压缩后的文件和目录的大小
988K    dl.tar.gz
[root@localhost d6z]# du -sh dl 3.txt 4.txt    //原文件和目录的大小
1.3M    dl
1.3M    3.txt
1.3M    4.txt

[root@localhost d6z]# tar -cjvf dl.tar.bz2  dl 3.txt 4.txt    //使用tar打包同时使用bzip2压缩。解压缩时把选项c换成x即可。
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl
3.txt
4.txt
[root@localhost d6z]# du -sh dl.tar.bz2        //打包压缩后的文件大小
392K    dl.tar.bz2

[root@localhost d6z]# tar -cJvf dl.tar.xz  dl 3.txt 4.txt    //使用tar打包,同时使用xz压缩。解压缩时把选项c换成x即可。 
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl
3.txt
4.txt
[root@localhost d6z]# ls
1.txt.bz2  2.txt.zip  4.txt     dl      dl.tar.gz  dl.zip
2.txt      3.txt      dddd.tar  dl.tar  dl.tar.xz  test

[root@localhost d6z]# du -sh dl.tar.xz        //打包压缩后的文件大小
64K dl.tar.xz    
[root@localhost d6z]# tar -tf dl.tar.gz    //查看打包压缩后的目录列表
dl/
dl/dd/
dl/dd/passwd
dl/dddl/
dl/dddl/passwd
dl/passwd
dl/dl
3.txt
4.txt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值