当前位置: 首页 > news >正文

linux打包解压工具,打包压缩、解压缩工具详解

本文旨在学习打包,压缩,解压缩。学习使用tar、gzip/gunzip/zcat、bzip2/bunzip2/bzcat、xz/unxz/xzcat、zip/unzip、cpio等命令的使用。

前言:

首先要弄清两个概念:打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)

tar命令详解

语法:tar[选项][参数]

常用选项:

-z或--gzip或--ungzip:通过gzip指令处理备份文件;

-j:通过bzip2指令处理备份文件;

-c或--create:建立新的备份文件;

-v:显示操作过程;

-f或--file=:指定备份文件;

-x或--extract或--get:从备份文件中还原文件;解压缩

-t或--list:列出备份文件的内容

-C :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项

--exclude=:排除符合范本样式的文件。

通过bzip2令处理备份文件

打包: tar -cf  log.tar access.log error.log (要打包的文件)

压缩: tar -jcvf log.tar.bz2 log.tar

打包后压缩:tar -jcvf log.tar.bz2  access.log error.log(要压缩的文件)

查询文件内容:tar -tf log.tar.bz2

解压缩: tar -jxvf log.tar.bz2 -C /backup/  (欲解压缩的目录)

通过gzip指令处理备份文件

压 缩:tar -zcvf log.tar.gz 要被压缩的文件或目录名称

查 询:tar -ztvf log.tar.gz

解压缩:tar -zxvf log.tar.gz -C 欲解压缩的目录

实例:

tar -zcvf etc.tar.gz /etc/*

tar -zcvf etc.tar.gz --exclud=/etc/services /etc/*

tar -zxvf etc.tar.gz -C /tmp/etcbak

gzip/gunzip/zcat命令

gzip常用选项:

-c: 将压缩或解压缩的结果输出至标准输出

-d: 解压缩,相当于gunzip

-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

-#:1-9,指定压缩比,值越大压缩比越大

压缩tar打包的文件:

gzip -r log.tar 压缩后的文件名为log.tar.gz

压缩1: gzip access.log (压缩完后,源文件消失)

压缩2: gzip -c access.log >access.log.gz (压缩后保留源文件)

解压1:gzip -d access.gz (解压后,压缩包消失)

解压2:gzip -c -d access.log.gz >access.log(解压后保留压缩包)

解压3:gunzip access.gz

zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。

具体使用请google

zcat access.log.gz >access.log

bzip2/bunzip2/bzcat命令

bzip2 [OPTION]... FILE ...

-k: keep,  保留原文件

-d:解压缩

-#:1-9 ,压缩比,默认为6

bzcat :不显式解压缩的前提下查看文本文件内容;

xz/unxz/xzcat命令

xz是一种新的压缩文件格式,号称压缩率之王。采用LZMA SDK压缩,目标文件较gzip压缩文件(.gz或.tgz)小30%,较2小15%。

xz [OPTION]... FILE ...

-k: keep,  保留原文件;

-d:解压缩

-#:1-9 ,压缩比,默认为6

xzcat:  不显式解压缩的前提下查看文本文件内容

zip/unzip命令

打包压缩:zip filename.zip filename

解压缩:unzip filename.zip

cpio 命令

cpio命令主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件。它可以解压以“.cpio” “.tar” 结尾的文件。

cpio语法:

cpio [option] > 文件名或者设备名

cpio [option]

常用option:

-o或--create:执行copy-out模式,建立备份档;

-i或--extract:执行copy-in模式,还原备份档;

-t或--list:将输入的内容呈现出来;

-u或:置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖;

-v或--verbose:详细显示指令的执行过程;

-d或--make-directories:如有需要cpio会自行建立目录;

-c:一种较新的存储方式

-B: 将输入/输出的区块大小改成5210Bytes;

实例:[root@study tmp]# ls  access.log error.log |cpio -ocvB >log.cpio

access.log

error.log

2 blocks

将/etc下的所有普通文件都备份到/opt/etc.cpiofind /etc –type f | cpio –ocvB >/opt/etc.cpio

find /etc –type f | cpio –ov >/opt/etc.cpio

内容预览:

cpio -tv < etc.cpio

解压缩:

cpio -iv < etc.cpio

cpio -ivd < etc.cpio

rpmcpio命令:

rpm2cpio命令用于将rpm软件包转换为cpio格式的文件

rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -idv

相关文章:

  • linux邮件服务器安装与配置过程,Linux操作系统邮件服务器的搭建过程解析
  • Java提高十五:容器元素比较ComparableComparator深入分析
  • linux addr2line 用法,addr2line的用法
  • svn项目添加到tomcat后,tomcat无法打开问题解决
  • linux imq原理图,(linux内核IMQ源码实现分析.doc
  • rman从aix到linux跨平台恢复,利用RMAN跨平台迁移数据库
  • Linux权限分析
  • tcp连接超时断开linux,linux – FTP’ing大文件时如何防止TCP连接超时?
  • 【BZOJ3203】[Sdoi2013]保护出题人 二分+凸包
  • c语言二级指针的作用,C语言中二级指针的实例详解
  • c语言二叉搜索树程序,二叉搜索树 C语言实现
  • Baidu IoT Study
  • 对ch452芯片初始化用c语言,用C8051F020单片机的伺服阀温度零漂测控系统
  • 逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值.
  • crc16 ibm c语言,CRC16常见几个标准的算法及C语言实现
  • 【node学习】协程
  • 2019.2.20 c++ 知识梳理
  • Android 架构优化~MVP 架构改造
  • C学习-枚举(九)
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • github从入门到放弃(1)
  • HTML5新特性总结
  • java第三方包学习之lombok
  • jQuery(一)
  • js
  • Js基础——数据类型之Null和Undefined
  • JS基础之数据类型、对象、原型、原型链、继承
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • mac修复ab及siege安装
  • Promise初体验
  • SpringBoot 实战 (三) | 配置文件详解
  • Vue2.x学习三:事件处理生命周期钩子
  • 编写符合Python风格的对象
  • 创建一个Struts2项目maven 方式
  • 后端_MYSQL
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 深度学习在携程攻略社区的应用
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 微信小程序实战练习(仿五洲到家微信版)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​secrets --- 生成管理密码的安全随机数​
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (10)ATF MMU转换表
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (LeetCode) T14. Longest Common Prefix
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (十六)串口UART