本文旨在学习打包,压缩,解压缩。学习使用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打包解压工具,打包压缩、解压缩工具详解相关推荐

  1. python 解压zip文件_Python 解压缩文件详解

    zipfile模块及相关方法介绍: 1 压缩 1.1 创建zipfile对象 zipfile.ZipFile(file, mode='r', compression=0, allowZip64=Tru ...

  2. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解

    <tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...

  3. tar压缩解压缩命令详解

    tar压缩解压缩命令详解 tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个, ...

  4. 解压tar.xz以及tar.gz详解

    一.解压tar.xz文件 tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个, ...

  5. Linux下的压缩解压缩命令详解

    1.zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home ...

  6. linux下的tar压缩解压缩命令详解,Linux下的tar压缩解压缩命令详解

    linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法,需要的朋友可以参考下 Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命 ...

  7. Linux——Linux下的tar压缩解压缩命令详解

    转自:http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html tar 参数 作用 -c 建立压缩档案 -x 解压 -t 查看 ...

  8. Linux下的tar压缩解压缩命令详解(转)

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  9. 【Linux命令】Linux下的tar压缩解压缩命令详解(转)

    tar-c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下 ...

  10. Linux下的tar压缩解压缩命令详解

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

最新文章

  1. zynq学习05 Zynq 7000 emio的gpio操作
  2. 为什么不要使用finalize方法
  3. 27.课时27.【Django模板】for标签使用详解(Av61533158,P27)
  4. POJ - 2182 Lost Cows【线段树】
  5. Unix 激荡 50 年:驱动 Android、iOS 的操作系统是如何从失败开始的?
  6. 白帽子讲Web安全(对看书之后的一点笔记)
  7. leetcode—13.链表基本操作类题目python解答
  8. html定义页脚有什么用,HTML5中footer标签的用法你知道吗?,HTML5中的footer标签是什么意思?...
  9. python编写时钟代码_python编写时钟代码
  10. loadrunner安装缺少vc2005
  11. 顺序表 数据结构 顺序表基本操作 C语言实现 顺序表详解
  12. UE4蓝图数组Array、Map的使用
  13. python识别图像里文字_使用 Python 识别并提取图像中的文字
  14. 软件开发常用英语词汇
  15. AIC,AIB,同德显卡五兄弟,
  16. mysql插入数据,根据相关字段判断这条数据是否存在,存在就不插入,不存在就插入
  17. 关于膨胀系数silhouette_score的metric耗时
  18. 什么是AES对称加密算法
  19. 川大研究生计算机网络挂科,四川大学200多名研究生被清退,让人倍感惋惜,原因几乎相同!...
  20. 类似高佣联盟怎么赚的?

热门文章

  1. php 超出整形范围,频率超出范围怎么办
  2. 利用MEGA-X选择模型及构建美化进化树
  3. 获取淘宝订单的解决方案
  4. word设置页码不在第一页开始;删除页眉横线的小技巧
  5. 【年度总结系列 2019】2019 时不我与
  6. docker 常用命令(二)——容器命令
  7. leetcode每日一题1725. 可以形成最大正方形的矩形数目 哈希表存储 到 贪心遍历 优化~
  8. mysql update后可以跟两个表_update后可接两张表吗,
  9. 用js实现鼠标的小尾巴
  10. 黑龙江局与深圳大疆公司等开展无人机植保技术交流