一起来学linux:压缩与解压缩

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:显示出原始文件与压缩文件的压缩比

-#:压缩等级,从19-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:显示压缩比

-#:压缩等级,从19-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/testtar -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/



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

比如备份一个文件

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

原文地址:https://www.cnblogs.com/zhanghongfeng/p/7473964.html