linux常见压缩与解压工具 以及打包工具tar

目录

 

1.什么是压缩?

2.常用的压缩和解压缩的工具?

    zip和unzip

     gzip和gunzip

      bzip2和bunzip2

          xz和unxz

        归档打包命令tar

3.各种压缩工具的用法和实例演示

        1.zip和unzip

2.gzip 和gunzip

3. bzip2和bunzip2

4.xz和unxz

5.tar命令


1.什么是压缩?

2.常用的压缩和解压缩的工具?

  1. zip和unzip

  2. gzip和gunzip

  3. bzip2和bunzip2

  4. xz和unxz

  5. 归档打包命令tar

3.各种压缩工具的用法和实例演示

1.zip和unzip

  • zip是一个使用广泛的压缩工具,经压缩后会产生一个以.zip结尾的压缩文件,zip是后缀命令可以自己随意命名。

  • zip -r etc.zip /etc (r参数表示递归处理,这个命令表示把/etc 下的所有文件及其子子目录进行压缩)

可以看出r是递归进行压缩的

 

  • zip b.zip  /etc/* (打包目录,仅对/etc进行压缩不对子文件,目录压缩打包)

下图可以看出仅打包/etc下的但是不打包子目录文件

  • zip -d aaa.zip file05 (d参数表示删除压缩文件里面的文件)

 

 

 

  • zip -m aaa.zip anaconda-ks.cfg (-m 参数 表示向压缩文件aaa.zip中加入压缩后 anaconda-ks.cfg的文件)

  • zip /root/bbb ./* -x file04 (-x参数表示排除 压缩时除了那个文件,压缩剩余的)

  •  zip -rv home.zip /home/ (-v 参数表示显示详细信息)

  • upzip ccc.zip -d 678 (-d 参数代表指定路径去解压)

  • unzip -v ccc.zip (显示压缩文件下有哪些内容但是不解压)

 

  •  unzip -o ccc.zip  -d 678  #直接覆盖(如果678中有相同的文件直接覆盖不交互提示)

  •  unzip "*.zip" -d kkk( 解压所有.zip结尾的文件到指定目录) kkk是一个新建的目录

  •  unzip -n ccc.zip  -d 678  #不覆盖(如果678中有相同的文件不覆盖,)

  •  zcat a.zip   #查看压缩文件内容

2.gzip 和gunzip

  • gzip hanqiu/file01(可以对某个文件进行压缩)

  • gzip hanqiu/* (可以对单个文件进行压缩)

  • gzip -d hanqiu/* (可以对单个文件进行解压)

  • gzip -dv hanqiu/* (可以对单个文件进行解压,并显示详细信息)

  • gzip -v hanqiu/* (查看详细信息在压缩的情况下)

  • gzip -l hanqiu/* 在不解压的情况下查看压缩文件内容

  • gzip -r text(递归的压缩目录下的文件)

  • gzip -dr text(递归的解压缩目录下的文件)

 

  • gunzip file.zp (对压缩文件进行解压)

  • gunzip -r text (递归解压缩 和 gzip -dr text功能相同)

  • gunzip -c  anaconda-ks.cfz.gz >111/file (定向解压缩)

 

3. bzip2和bunzip2

  • bzip2 anaconda-ks.cfg (不保留源文件进行压缩)

 

  • bzip2 -d anaconda-ks.cfg.bz2   #解压

  • bzip2 -dv file02.bz2  解压时显示详细信息

  • bzip2 -dv file02.bz2 测试解压如下图显示ok表示可以解压但实际没有解压

  • bzip2 -k file01.bz2 保留源文件压缩

  • bzip2 -kd file01.bz2 保留源文件解压

  •  bzip2 -c passwd > passwd.bz2  #保留源文件压缩

  •  bzip2 -cd file01.bz2     #打印文件中的内容

  • bzcat anaconda-ks.cfg.bz2   #查看

 

  •  bzless anaconda-ks.cfg.bz2 查看

4.xz和unxz

xz anaconda-ks.cfg  压缩
xz -d anaconda-ks.cfg.xz 解压缩
xz -k anaconda-ks.cfg  保留源文件压缩

xzcat anaconda-ks.cfg.xz 查看压缩文件

5.tar命令

[root@admin ~]# tar -cf /usr/local/src/root.tar ./*   #建立归档文件,文件名为root.tar


[root@admin ~]# tar -xf /usr/local/src/root.tar -C /opt/   #解散归档文件到/opt目录下 -C指明目标路径


[root@admin ~]# tar -tf /usr/local/src/root.tar    #查看归档文件的详细信息。

[root@admin ~]# tar rf /usr/local/src/root.tar 123  #添加123到归档文件的末尾


[root@admin src]# tar uf /usr/local/src/root.tar ./*  #更新 当打包的文件改动时可以通过此命令更新


 

[root@admin src]# tar -Af etc.tar root.tar   #添加压缩文件到etc.tar

 

[root@admin ~]# tar cfz /usr/local/src/etc.tar.gz /etc (以gzip的属性进行打包压缩)


[root@admin ~]# tar czvf /usr/local/src/etc.tar.gz /etc (显示zip属性打包的详细信息)


[root@admin ~]# tar -cjvf /usr/local/src/etc.tar.bz /etc/(以bz2属性进行打包压缩并显示详细信息)


[root@admin ~]# tar -cJvf /usr/local/src/etc.tar.xz /etc/ (以xz属性进行打包压缩并显示详细信息)

压缩率: xz > bz > gz ;从上图可以看出压缩率关系

[root@admin ~]# tar -N 20200803 -cf /usr/local/src/123.tar ./*  #只将较指定日期更新的文件保存到备份文件里

[root@admin ~]# tar czvf file1.tar.gz ./file* --remove-files  #归档后删除原文件
[root@admin ~]# tar xf file1.tar.gz;rm -rf file1.tar.gz       #解压后删除原文件

[root@admin ~]# tar -xf /usr/local/src/etc.tar.xz -C /opt/
[root@admin ~]# tar -xf /usr/local/src/etc.tar.gz -C /opt/
[root@admin ~]# tar -xf /usr/local/src/etc.tar.bz -C /opt/

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值