Linux常用的打包压缩指令

压缩的原理

计算机是以二进制存储数据的,也就是0和1的格式。
压缩文件就是一些聪明的工程师通过复杂的算法,忽略掉0,只保留1的存储空间,从而达到减少文件容量的目的。
压缩过的文件不能被系统直接读取,需要解压缩。

压缩的优点

1.压缩过的文件或者目录变小了,节省磁盘空间。
2.网络传输,节省带宽,提高传输速度。

常见的压缩指令
compress

过时的压缩指令

老旧的Unix机器才会有,新的机器不会再默认安装

压缩比低

目前已经很少使用,如果机器没有安装,不建议再使用

#新的联网机器可以通过联网安装
yum -y install ncompress

#常见用法
compress [-rcv] 文件或者目录名
# -r  将目录下的文件一起压缩
# -c  将压缩数据输出到屏幕
# -v  展示压缩后的信息和压缩过程
uncompress 文件名.Z 
# 解压缩

#练习
compress xxx
#默认会直接压缩为 xxx.Z,源文件没了。自动生成压缩的文件名。

uncompress  xxx.Z
#解压缩后,压缩文件没了,恢复到xxx。

compress -c xxx > xxx.Z
#这样压缩,就同时保留了源文件和压缩文件。但是数据流之后的重导向文件名要自己手动写。
gzip ,zcat

应用广泛

用来替代compress,能够解压compress压缩的文件

压缩的档案名为 *.gz

压缩比高于compress

能够被windows系统的 WinRAR解压缩

gzip [-cdtv] 文件名或者目录名
#-c 结合数据流重导向,同时保留压缩文件和源文件
#-d 解压缩
#-t 检验压缩文件的一致性,看文件是否有错
#-v 显示压缩比等信息
#-# 压缩等级 -1最快,压缩比最差;-9最慢,压缩比高。默认-6

zcat 
#读取压缩文件的内容,没有解压缩文件
#也能够读取compress压缩的内容
bzip2 ,bzcat

压缩比高于gzip

用来替代gzip,用法几乎一致

文件名为 .bz, .bz2, .tbz, .tbz2 等等,可以尝试使用 bzip2 来解看看

bzip2 [-cdkzv] 文件或者目录名
#-c  结合数据流重导向,同时保留压缩文件和源文件
#-d  解压缩
#-k  保留源文件不会删除
#-z  压缩
#-v  显示压缩比等信息
#-#  压缩等级 -1最快,压缩比最差;-9最慢,压缩比高。默认-6

#压缩成 xxx.bz2
bzip2 -z xxx  

#解压缩
bzip2 -d xxx.bz2

#读内容
bzcat xxx.bz2

gzip , bzip2 虽然可以压缩目录,但是是对目录下的文件分别压缩。不像windows下的WinRAR可以将好多数据打包成一个文件。这就需要linux下的打包指令了。

tar

将多个文件或者目录打包成一个大文件

本身不提供压缩,但是可以结合压缩指令对文件进行压缩

Windows的 WinRAR 也支持 .tar.gz 文件的解压缩

# 打包与压缩
tar [-j|-z] [-cv] [-f] 压缩后的文件名 压缩文件

#查看
tar [-j|-z] [-tv] [-f] 压缩后的文件名

#解压缩
tar [-j|-z] [-xv] [-f] 压缩后的文件名 [-C] 解压到目录

-c 建立打包文件
-t 查看打包文件下的文件名
-x 解压缩
-j 结合bzip2的压缩,文件最好命名为 *.tar.bz2
-z 结合gzip的压缩,文件最好命名为 *.tar.bz2
-v 压缩或者解压缩的过程,显示压缩名
-f 接被处理的文件名
-C 解压缩的目录
-p 保留原来的数据权限和属性
-P 保留绝对路径,即允许备份数据含有根目录之意
-exclude=FILE

#简单用法
压缩     tar -jcv -f xxx.tar.bz2 要被压缩的文件
查看     tar -jtv -f xxx.tar.bz2 
解压缩   tar -jxv -f xxx.tar.bz2 -C 解压缩的目录
#j 结合bzip2处理文件
#z 结合gzip处理文件

#如果加上参数 P 可以将压缩文件带着根目录,但是这样解压缩后,会覆盖原有文件,不建议这样做
tar -jcvP -f etc.tar.bz2 /etc
#如果这样压缩备份的话,再解压,就会把 原来的 /etc 覆盖,很危险!

#仅解压缩某一个文件
tar -jxv -f xxx.tar.bz2 xxx/xxxx (打包文件下的某一个文件)

#打包某目录,但不包含某目录下的文件
tar -jcv -f xxx.tar.bz2 xxxx --exclude=file (不包含的文件名)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值