[Linux](十六) --文件的打包与压缩
2019-01-21 本文已影响28人
你就像只铁甲小宝
Linux中文件打包与压缩常用的几个命令及用法。
1.压缩就是通过一些算法节省文件或目录的空间,达到压缩的目的。
2.打包就是把多个文件或目录打包成一个大文件。
3.Linux中常见压缩与打包文件后缀
-
*.gz:通过gzip命令压缩后的文件后缀。
-
*.bz2:通过bzip2命令压缩后的文件后缀。
-
*.tar:通过tar命令打包后的文件后缀。
-
*.tar.gz:通过gzip命令压缩后打包的文件后缀。
-
*.tar.bz2:通过bzip2命令压缩后打包的文件后缀。
4. gzip命令:可以解压zip,gzip等压缩文档
例子4.1:直接压缩test.html文件
图片.png
- 文件变成了test.html.gz,但却没有任何屏幕的提示。
- 同时,会发现test.html文件不见了。
例子4.2:加入选项-c,会将压缩数据输出到屏幕上,还有一个作用就是重定向数据流。
图片.png
- -d选项用来 解压test.html.gz文档。
- -v选项可以用来显示压缩比等信息。
- -c重定向数据流到test.html.gz文档,这样我们压缩时,就不会删除原来的文件了。
例子4.3 加入选项-t可以检查压缩文档,压缩时有没有产生什么错误。
图片.png例子4.4 当我们想查看压缩文档里的内容而不想解压时,可以使用命令zcat。
- 类似还有zless,zmore。
- zgrep可以在不用解压的情况下查看压缩文档里面的某个词。
5.bzip2命令:跟gzip用法差不多。
-
-c都是把压缩过程的信息输出到屏幕上。
-
-v都是输出压缩比等信息。
-
-d是解压压缩文件。
-
同样的,压缩文件时,会删除原文件,但想要保留原文件,可以加入选项 -k,这是不同的地方。
压缩时:bzip2 -k test.txt
,解压时,bzip2 -k test.txt.bz2
同样也有bzgrep,bzmore,bzless,bzcat,区别就在于一个前面是g,一个是bz。
6.打包命令:tar
打包命令的参数我是这样记的。
6.1:打包前,若想压缩文件可以加入以下两个选项中的一个。
-
-z:使用gzip来进行压缩还是解压。
-
- j:使用bzip2来进行压缩还是解压。
-
不加参数就是直接打包了。
6.2:然后可以配上c,t,x中的一个。
-
-c:新建打包文件,一般配合-v显示在屏幕上。
-
-t:查找打包文件中的文件名。
-
-x:解压时用的参数,配合-C可以解压特定的目录。
-
6.3: 最后在加上参数-f,接要处理的文件名。
6.4:打包/etc目录
图片.png这里没有加入-v,加入-v会把信息显示在屏幕上。
6.5 解压/etc.tar.gz文档。
图片.png解压可以看到把参数c换成了x。
6.6 查找打包文档中特定的文件。
图片.png换成了选项-t,通过grep命令查找文件名。
6.7还有一个感觉比较有用的参数,--exclude=文件,可以在打包时去掉一些你不想打包的文件。
例如 我在打包etc目录时,p开头的文件目录我都不要了。
最后说两个参数,-p,打包时,保留文件原本的权限与属性,一般配合-c进行备份。
-P,就是上面图片中出现,从成员名中删除开头的"/"的原因。加上了就不会出现这句话了,因为允许打包时存在跟目录了。