Linux压缩解压

压缩命令只能应用于文件,不能是路径,路径需要先tar打包再压缩

gzip

扩展名:.gz

gzip passwd 压缩文件 默认会删除文件
gunzip pass.gz 解压文件,默认也会删除文件
gzip -d passwd.gz 解压文件
-c 保留原来的文件
gzip -c passwd > passwd.gz 压缩
gzip -c -d passwd.gz > passwd 解压
-# 1-9 指定压缩比,值越大压缩比例越大 默认是9
zcat 查看压缩包内的文件
zcat passwd.gz > passwd

bzip2

扩展名:.bz2

-k 保留原文件
-d 解压
bunzip2 解压
-# 1-9 默认的是9
bzcat 查看压缩包的文件

xz

扩展名:.xz

-k 保留源文件
-d 解压
unxz 解压
-# 1-9 默认的是9
xzcat 查看压缩包内的文件

tar

tar cvf a.tar b c
c  创建 打包不压缩
v 显示过程
f 指定文件,自己写名字
r 追加
x 解压 解压时候可以不指定压缩文件格式,会根据扩展名自动识别
-C 指定解压位置
j 使用bzip2来压缩
z 使用gzip来压缩
J 使用xz来压缩
--exclude 排除

tar cvf a.tar b c
tar -r -f a.tar d
tar xf a.tar -C /opt
tar jcvf a.tar.bz b c d
* tar zcvf a.tar.gz b c d 	#压缩为.tar.gz
* tar xvf a.tar.gz		#解压.tar.gz(bz2,xz)
tar Jcvf a.tar.xz b c d
tar zcf etc.tar.gz --exclude=/etc/yum.repos.d --exclude=yum.conf /etc/

分卷压缩

split -b size file -d tarfile 
-b  指定每一个分卷的大小
-d 指定数字 默认是字母
-a 指定后缀个数
合并:
cat tarfile* > file.tar.gz
dd if=/dev/zero of=b bs=10M count=2
split -b 5M b b.tar.gz
split -b 5M b -d  b.tar.gz
split -b 5M b -d -a 3 b.tar.gz
原文地址:https://www.cnblogs.com/yinhaiping/p/14130118.html