linux文件压缩与打包

1.0 压缩打包介绍

常见的压缩文件的后缀名
  • Windows .rar .zip .7z
  • Linux .zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz
1.1 gzip压缩工具
创建一个目录用find搜索cat追加到1.txt,多使用几次
# find /etc/ -type f -name "*.conf" -exec cat {} >> 1.txt \;
看大小
[root@linux1 234]# du -sh 1.txt 
848K	1.txt
gzip压缩
# gzip 1.txt 
解压缩
# gzip -d 1.txt.gz 

gizp -(1-9)可以指定压缩级别默认是6级别,9级别是最狠的.狠耗费cpu资源最高

另外一种也可以解压缩
# gunzip 1.txt.gz 
压缩完的文件怎么去查看,不能cat
# file 1.txt.gz
查看压缩文件的内容
# zcat 1.txt.gz
压缩指定目录,并且源文件不让它消失
# gzip -c 1.txt > /tmp/1.txt.gz
指定目录文件解压缩,可以更改文件名字
# gunzip -c /tmp/1.txt.gz > /tmp/1.txt.nwe

总结:gzip不能压缩目录

 

2.0 bzip2压缩工具

安装bizp2的包
# yum install -y bzip2
bzip2跟gzip压缩是一样的
# bzip2 1.txt 
查看大小
[root@linux1 234]# du -sh 1.txt.bz2 
60K	1.txt.bz2
bzip2压缩比较狠默认压缩级别就是9

bzip2解压缩

# bzip2 -d 1.txt.bz2
另外一种解压缩
# bunzip 1.txt.bz2
查看文件类型
[root@linux1 234]# file 1.txt.bz2 
1.txt.bz2: bzip2 compressed data, block size = 900k
查看文件内容
# bzcat 1.txt.bz2
指定压缩到root目录下
# bzip2 -c 1.txt > /root/1.txt.bz2
指定root目录下解压缩到tmp下,并改名
 bzip2 -c -d /root/1.txt.bz2 > /tmp/1.txt.new2

总结:bzip2不能压缩目录

 

3.0 xz压缩工具
压缩
xz 1.txt
解压缩
# xz -d 1.txt.xz
另外一种解压缩
# unxz 2.txt.xz
也能压缩指定到root目录下,并保留原来的文件
 xz -c 1.txt > /root/1.txt.xz
指定root是目录下解压到tmp目录并改名
 xz -d -c /root/1.txt.xz > 1.txt.new3

总结:默认级别是9.不能压缩目录

 

4.0 zip压缩工具

前面三个不支持压缩目录,zip支持压缩目录和文件
安装zip包
# yum install -y zip
先创建一个目录把文件移进去,压缩目录
# zip -r centos.zip centos

zip有个好处,压缩完的文件和目录都不会删除,不像前面三个

需要安装解压缩unzip的包
# yum install -y unzip
解压缩
[root@linux1 234]# unzip centos.zip 
Archive:  centos.zip
replace centos/1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: n
replace centos/3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y          
  inflating: centos/3.txt            
replace centos/4.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: centos/4.txt 

为什么呢?因为压缩没有把源文件删除,解压缩就会提示,是否要覆盖,替换(n,yes,)打A是全部替换

压缩文件或目录,指定到root目录下
# unzip 123.zip -d /root/456/ 
可以查看文件,不能查看文件内容
# unzip -l 123.zip

 

5.0 tar打包工具

命令格式:tar [选项] 源文件或目录
打包123目录
# tar -cvf linux.tar 123/
解包(会覆盖原来的目录或者文件)
# tar -xvf linux.tar
可以打包目录和文件,可以目录加文件一起
# tar -cvf linux.tar 123/ 1.txt 2.txt
查看tar打包里面的文件或目录
# tar -tf linux.tar
打包同时过滤目录或者文件(不要的文件或目录)--exclud参数过滤
# tar -cvf linux.tar --exclude 123 --exclude 1.txt 123 1.txt

 

6.0 打包并压缩

打包压缩gzip格式的
# tar -zcvf linux.tar.gz 123/
tar打包gzip格式解压缩
# tar -zxvf linux.tar.gz
tar打包压缩bzip2格式
# tar -jcvf linux.tar.bz2  123
tar打包bzip2解压缩
# tar -jxvf linux.tar.bz2
tar打包xz压缩格式
#  tar -Jcvf linux.tar.xz 123
tar打包xz压缩解压
# tar -Jxvf linux.tar.xz
查看tar打包压缩gzip格式里的文件或目录
# tar -tf linux.tar.gz 
查看tar打包压缩bzip2格式里的文件或目录
# tar -tf linux.tar.bz2 
查看tar打包压缩xz格式里的文件或目录
# tar -tf linux.tar.xz
posted @ 2020-08-11 11:24  烟头001  阅读(525)  评论(0编辑  收藏  举报