鸟哥的私房菜——文件压缩

文件压缩技术原理

文件压缩最重要的一点是文件的准确性,要确保文件压缩前和解压后是完全相同的,根据鸟哥私房菜中所说,一种压缩方式是将空的bit位丢弃,来减少文件占用的内存空间;另一种是对重复的数据进行统计,采用计数的方法表示这些重复数据,来降低文件内存。

Linux文件压缩指令

compress

一种比较古老的压缩命令,压缩后的文件会增加一个.z的后缀,在压缩多个目录时必须先打包。

参数:
c 输出结果至标准输出设备(一般指荧幕)
f 强迫写入档案,若目的档已经存在,则会被覆盖 (force)
v 将程序执行的讯息印在荧幕上 (verbose)
b 设定共同字串数的上限,以位元计算,可以设定的值为 916 bits 。由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 16 bits (bits)
d 将压缩档解压缩
V 列出版本讯息

现在已经没了。。。
在这里插入图片描述

gzip

参数:
-c:将压缩的数据输出到屏幕上,可透过数据流重导向来处理
-d:解压缩
-t:可检验一个压缩文件的一致性,查看文件有没有错误
-v:可以显示原文件/压缩文件的压缩比
-#:#是数字,表示压缩的等级,1速度最快,但是压缩比低,9压缩比高,但是速度慢,默认值为6

gzip会默认覆盖原来的文件,可以通过-c来重定向输出到新的文件中,gcat可以读取压缩后的文件中的内容,zgrep可以在压缩文件中进行关键词搜索
在这里插入图片描述

在这里插入图片描述

bzip2

参数:
-c:将压缩的数据输出到屏幕上
-d:解压缩
-k:保留源文件
-z:压缩的参数,默认值,可以不加
-t:可检验一个压缩文件的一致性,查看文件有没有错误
-v:可以显示原文件/压缩文件的压缩比
-#:#是数字,表示压缩的等级,1速度最快,但是压缩比低,9压缩比高,但是速度慢,默认值为6

在这里插入图片描述

xz

参数:
-c:将压缩的数据输出到屏幕上
-d:解压缩
-k:保留源文件
-t:可检验一个压缩文件的一致性,查看文件有没有错误
-v:可以显示原文件/压缩文件的压缩比
-l:列出压缩文件的相关信息
-#:#是数字,表示压缩的等级,1速度最快,但是压缩比低,9压缩比高,但是速度慢,默认值为6

在这里插入图片描述

打包

列举一些常用的参数

-c:建立打包文件
-t:查看打包文件的内容
-x:解打包/解压缩,可搭配-C来指定目录
-z:通过gzip来压缩或解压缩,文件名最好是*.tar.gz
-j:通过bzip2来压缩或解压缩,文件名最好是*.tar.bz2
-J:通过xz来压缩或解压缩,文件名最好是*.tar.xz
-v:在压缩或解压缩的工程中,将正在处理的文件名显示出来
-f:后面加要处理的文件名
-C:指定解压缩的目录
-p:保留源数据的原本权限与属性
-P:保留绝对路径

在使用时多为组合参数

# 压缩
tar -jcvp -f name path
tar -zcvp -f name path
tar -Jcvp -f name path
# 解压缩
tar -jxvp -f name
tar -zxvp -f name
tar -Jxvp -f name

在这里插入图片描述
查看打包文件内部的文件信息
在这里插入图片描述
使用-P参数打包,会保留绝对路径,即增加了根目录
在这里插入图片描述
在这里插入图片描述
将上面两个文件进行解压,并指定目录
在这里插入图片描述
在这里插入图片描述

解压压缩包中的一个文件

首先要找到要单解包的文件,001.tar.gz中包含两个文件,将其中的txt文件取出来,取出来以后会放到001目录下

tar -zxvf 压缩包名称 要解压的文件名称

在这里插入图片描述

打包时除去某些文件

tar -zcvp -f name --exclude=*** path

其中的过滤条件可以有多个
在打包时过滤001文件夹下的.gz文件,对比增加过滤条件与正常打包可以发现,*.gz文件未被打包
在这里插入图片描述

打包时增加时间条件

打包new.txt文件
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值