Linux场景下一般存在如下的压缩文件格式:

1 .Z compress程序压缩的文件

2 *.gz gzip程序压缩的文件

3 *.bz2 bzip2程序压缩的文件

4 *.tar tar程序打包的文件。没有经过gzip的压缩

5 *.tar.gz tar程序打包的文件,经过gzip的压缩

6 *.tar.bz2 tar程序打包的文件,经过bz2的压缩

其中现在用得最多的就是gzip以及bzip2的方式,tar其实是讲所有的文件集中到一个文件夹里面,并么有提供压缩。

先来看下gzip的使用方式:

-c: 将压缩的数据输出到屏幕上,

-d:解压缩的参数

-t: 可以用来校验文件的一致性,查看文件是否有无错误

-v:显示出原始文件与压缩文件的压缩比

-#:压缩等级,从1到9,-9最慢

root@zhf-linux:/home/zhf/zhf# gzip -v python.vim

python.vim: 69.1% -- replaced with python.vim.gz

再来看下bzip2的命令:

-c:
将压缩过程产生的数据输出到屏幕上

-d:解压缩的参数

-k:保留原文件,而不会删除原始的文件

-z:压缩的参数

-v:显示压缩比

-#:压缩等级,从1到9,-9最慢

用法都和gzip差不多,但是有一个不同点在于,-k,
输入这个后可以保留原文件存在。gzip没有这个功能,压缩后原文件也被删除了

不管是gzip还是bzip2都只能对一个文件进行压缩,而不能对多个文件进行压缩。

root@zhf-linux:/home/zhf/zhf#
gzip python_prj

gzip:
python_prj is a directory – ignored

因此这里需要用到打包命令,先将不同的文件打包到一个文件夹里面然后进行压缩。tar的参数很多,主要介绍几个重要的

-c:
新建打包文件

-t:查看打包文件里面有那些文件

-x:解打包和解压缩的功能

-j:通过bzip2进行压缩/解压缩。文件名一般为
*.tar.bz2

-z:通过gzip进行压缩/解压缩.文件名一般为
*.tar.gz

-v:压缩和解压缩的过程中,将正在处理的文件名显示出来

-f:要被处理的文件名

-C:特定目录解压缩

-p:保留备份数据的权限与属性

命令如下, -f
首先是将要被压缩的文件名,然后是需要压缩的文件夹

root@zhf-linux:/home/zhf/zhf#
tar -zpcv -f /home/zhf/zhf/test.tar.gz /home/zhf/zhf/test

tar:
Removing leading `/' from member names

/home/zhf/zhf/test/

/home/zhf/zhf/test/test2/

同样查看的时候也可以看对对应文件里面的权限。

root@zhf-linux:/home/zhf/zhf#
tar -ztv -f /home/zhf/zhf/test.tar.gz

drwxr-xr-x
root/root 0 2017-08-28 21:34 home/zhf/zhf/test/

drwxr-xr-x
root/root 0 2017-08-28 21:34 home/zhf/zhf/test/test2/

同样的如果想用bz2的方式,命令改成tar
-jpcv -f /home/zhf/zhf/test.tar.gz /home/zhf/zhf/test和tar
-jtv -f /home/zhf/zhf/test.tar.gz就可以了

对应的解压缩方式:或者是tar
-jxvf test.tar.bz2

root@zhf-linux:/home/zhf/zhf#
tar -zxvf test.tar.gz

home/zhf/zhf/test/

home/zhf/zhf/test/test2/

再来看另外一个命令dd。dd的主要作用在于备份文件或者是分区的内容:

比如备份一个文件

root@zhf-linux:/home/zhf/zhf#
dd if=/home/zhf/zhf/test.txt of=/home/zhf/test.back

0+0
records in

0+0
records out

0
bytes copied, 0.000470738 s, 0.0 kB/s

一起来学linux:压缩与解压缩的更多相关文章

  1. Linux 压缩、解压缩命令

    Linux 压缩.解压缩命令 tar 语法命令 tar [options-] [files] options: 选择 描述 -A 追加tar文件至归档 -c 创建一个新文档 -d 找出归档和文件系统的 ...

  2. Linux压缩与解压缩文件

    1 将tgz文件解压到指定目录. tar zxvf test.tgz -C 指定目录 比如:将 test.tgz 解压到 /home目录:tar zxvf test.tgz -C /home 2 将指 ...

  3. linux压缩、解压缩和归档工具

    linux基础之压缩.解压缩和归档工具 1.压缩工具 基本介绍 为了减少文件的原来的文件大小而过多的浪费磁盘的存储空间,我们使用压缩后多文件进行存储 压缩工具的介绍 compress:把文件压缩成以. ...

  4. linux 压缩、解压缩及归档工具

    linux下主要的压缩.归档工具 compress/uncompress: .Z gzip/gunzip:  .gz bzip2/bunzip2: .bz2 xz/unxz: .xz zip/unzi ...

  5. [整理]Linux压缩与解压缩命令整理。

    一.压缩文件命令 1.*.Z compress 程序压缩的档案:2.*.bz2 bzip2 程序压缩的档案:3.*.gz gzip 程序压缩的档案:4.*.tar tar 程序打包的数据,并没有压缩过 ...

  6. linux 压缩与解压缩

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

  7. linux压缩与解压缩 tar命令

    #压缩tar -czvf ***.tar.gz  filetar -cjvf ***.tar.bz2 file#解压缩tar -xzvf ***.tar.gz filetar -xjvf ***.ta ...

  8. kali linux 压缩文件解压缩命令(包含7z)

    tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1 ...

  9. linux压缩、解压缩命令

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

  10. Linux压缩与解压缩

    .tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz [-C Dir] 中括号中的内容可以省略.压缩:tar zcvf FileName.tar.gz DirName . ...

随机推荐

  1. Java基础教程---JDK的安装和环境变量的配置

    一.Java的安装和环境变量配置 1.Java的安装: 第一步,从Oracle官网下载安装包,当然也可以从其他安全可靠的地方下载(PS:根据不同电脑系统下载相应的安装包,注意电脑的位数.如x64,x3 ...

  2. ie8 不能加载dll的问题解决

    请问是在打开IE的时候提示无法加载DLL文件吗? 请尝试重置IE: 1. 关闭所有Internet Explorer窗口. 2. 单击开始,点击运行,输入inetcpl.cpl,按回车. 3. 点击高 ...

  3. “应用程序无法正常启动(oxc000007b)”解决方案

  4. iOS开发 总结几种传值--extern,NSUserDefaults,Delegate

    1 设置委托(代理模式)      建一个委托testViewDelegate.h   #import//b中的参数传到a//设置委托方法,例如本文件//在b中.h描述NSObject * deleg ...

  5. iOS应用崩溃日志揭秘2

    这篇文章还可以在这里找到 英语 场景 4: 吃棒棒糖时闪退! 用户邮件说, “当rage master吃棒棒糖时应用就闪退…” 另一用户说, “我让rage master 吃棒棒糖,没几次应用就闪退了 ...

  6. Android 进度条对话框ProgressDialog

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  7. oracle查询、删除表中相同的数据

    delete FROM tablename a WHERE rowid > ( SELECT min(rowid) FROM tablename b WHERE b.id = a.id and ...

  8. Android 获取虚拟按键的高度

    //获取虚拟按键的高度 public static int getNavigationBarHeight(Context context) { int result = 0; if (hasNavBa ...

  9. HDU1565方格取数

    典型的状态压缩DP问题.第i行的取法只受到第i-1行的影响.首先每一行的取法要相容(不能有两个相邻),然后相邻行之间也要相容.将每一个格子看做两种状态,1表示取,0表示不取.这样每一行就是一个01串, ...

  10. java基础篇2之枚举

    1.为什么要有枚举 问题:要定义星期几或者性别的变量,该怎么定义? 假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday=0; 枚举就是要让某个类型的变量的取值只能为若干个固定值 ...