凉城旧巷
Python从入门到自闭,Java从自闭到放弃,数据库从删库到跑路,Linux从rm -rf到完犊子!!!

Linux文件压缩

一、压缩技术

  • 方式一:将这些没有使用到的空间“腾”出来,以让文件占用的空间变小

    例如:记录数字1,1 会在最右边占据 1 个 bit ,而其他的 7 个 bits 将会自动的被填上 0,压缩将这7个空的位置供给其它数据存储

  • 方式二:对重复数据进行统计记录

    例如:需要存储的数据byte为11111111111...共有100个1,压缩用少量位置记录100个1,而不是用100个位置存1

 

二、压缩类型

*.Z     compress程序压缩的文件(很少应用);
*.zip     zip程序压缩的文件;
*.gz    gzip程序压缩的文件;
*.bz2     bzip2程序压缩的文件;
*.xz     xz程序压缩的文件;
*.tar     tar程序打包的数据,并没有压缩过;
*.tar.gz     tar程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2      tar程序打包的文件,其中并且经过 bzip2 的压缩
*.tar.xz      tar程序打包的文件,其中并且经过 xz 的压缩

 

三、压缩用法

1、gzip

gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件

$ gzip [-cdtv#] 文件名

选项与参数: 
-c :压缩
-d :解压缩的参数, 会将原本的 .gz 删除
-t :可以用来检验一个压缩文件的一致性
-v :可以显示出原文件/压缩文件案的压缩比等信息
-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6

 

2、bzip2

bzip2的压缩比比gzip

$ bzip2 [-cdkzv#] 文件名

选项与参数: 
-c :压缩
-d :解压缩的参数
-k :保留源文件,而不会删除原始的文件喔!
-z :压缩的参数 (默认值,可以不加) -v :可以显示出原文件/压缩文件案的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

 

3、xz

xz压缩比比bzip更好,但是较为耗时

$ xz [-dtlkc#] 文件名

选项与参数: 
-d :解压缩
-t :测试压缩文件的完整性,看有没有错误
-l :列出压缩文件的相关信息
-k :保留原本的文件不删除
-c :压缩
-# :也有较佳的压缩比的意思!

 

4、tar

tar 可以将多个目录或文 件打包成一个大文件,同时还可以透过 gzip/bzip2/xz 的支持,将该文件同时进行压缩

$ tar [-z|-j|-J] [cv] [-f 待建立的新文件名] filename... <==打包与压缩
$ tar [-z|-j|-J] [tv] [-f 既有的 tar 文件名] <==察看文件名
$ tar [-z|-j|-J] [xv] [-f 既有的 tar 文件名] [-C 目录] <==解压缩

选项与参数: 
-c :建立打包文件,可搭配 
-v 来察看过程中被打包的档名(filename)
-t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
 		特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。
-z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-J :透过 xz 的支持进行压缩/解压缩:此时档名最好为 *.tar.xz
 		特别留意, -z, -j, -J 不可以同时出现在一串指令列中
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来! 
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰!(比较不会忘记) 
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

 

四、zcat命令

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

$ zcat [选项] [参数]

-S:指定gzip格式的压缩包的后缀。当后缀不是标准压缩包后缀时使用此选项;
-c:将文件内容写到标注输出;
-d:执行解压缩操作;
-l:显示压缩包中文件的列表;
-L:显示软件许可信息;
-q:禁用警告信息;
-r:在目录上执行递归操作;
-t:测试压缩文件的完整性;
-V:显示指令的版本信息;
-l:更快的压缩速度;
-9:更高的压缩比。
posted on 2022-01-24 14:28  凉城旧巷  阅读(518)  评论(0编辑  收藏  举报