一、压缩/解压缩工具
压缩比:压缩前后文件体积大小比例
压缩算法:通过分析数据存储模式实现 ,CPU资源占用率换取磁盘空间
1.gzip/gunzip/zcat - compress or expand files压缩或者展开文件
gzip [OPTION]... FILE… 默认会删除原文件
-d:解压缩,相当于gunzip;
-#:指定压缩比,默认是6;数字越大压缩比越大(1-9);
-c:将压缩结果输出至标准输出;gzip -c FILE > /PATH/TO/SOMEFILE.gz
2.bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE… 默认会删除原文件
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:keep,保留原文件;
3.xz/unxz/xzcat;lzma/unlzma/lzcat
xz [OPTION]... FILE… 默认会删除原文件
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:保留原文件;
4.三种压缩工具比较总结
(1)在较小文件,特别是文本文件的处理上gzip算法压缩后效果最好
(2)对也大文件,实际上zx的算法压缩比最优,远超gzip,bzip2比gzip好点
(3)bzi2比gzip压缩比优一点,但时不明显
(4)gzip、bzip2、xz都只支持压缩文件 不支持目录
(5)zcat、bzcat、xzcat都能直接查看压缩文件的内容,而不用去单独解压
实际上zcat、bzcat、xzcat将其加压在临时文件内以供查看,所以对大文件不建议用此类命令,过于占用CPU资源
二、归档
归档:把多个文件打包成一个文件,归档本身会使得文件变大,所以归档之后一般压缩
1.tar
tar [OPTION]... FILE…
-f /PATH/TO/SOMEFILE.tar :file,定义归档文件名和类型
归档多个文件或者目录,且不删除原文件,不指明路径默认当前路径,选项可以不加-
(1)创建归档
-c -f /PATH/TO/SOMEFILE.tar FILE...
-cf /PATH/TO/SOMEFILE.tar FILE...
(2)展开归档(tar默认可以根据文件后缀判断出压缩类型)
-xf /PATH/FROM/SOMEFILE.tar
-xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR 展开至何处
(3)查看归档文件的文件列表
-tf /PATH/TO/SOMEFILE.tar
(4)归档压缩/解压缩
-z:gzip2算法类型,-zcf -zxf
-j:bzip2算法类型,-jcf -jxf
-J: xz算法类型,-Jcf -Jxf
tar数据的备份和还原
tar
-v :显示详细信息
-f :指定归档文件名称(所有的操作均包含此参数,必须放在最后)
-c :创建归档 -x :释放归档
-z :gzip文件 -j :bzip2 -J :xz
-P :保留完整的文件路径
-t :查看压缩文件的内容
-C :指定解压后文件的目录
备份:先做归档再做压缩
tar -cvf *.tar +要打包的文件 只进行打包处理
tar -zcvf *.tar.gz +要打包的文件 打包压缩为gz后缀 gzip
tar -jcvf *.tar.bz2 +要打包的文件 打包压缩为bz2后缀 bzip2
tar -Jcvf *.tar.xz +要打包的文件 打包压缩为xz后缀 xz
解压:
tar -xvf *.tar -C +要解压的目录 会自动根据文件的后缀进行解压
tar -zxvf *.tar.gz -C +要解压的目录 解压后缀gz的文件 gzip
tar -jxvf *.tar.bz2 -C +要解压的目录 解压后缀bz2的文件 bzip2
tar -Jxvf *.tar.xz -C +要解压的目录 解压后缀xz的文件 xz
2.zip/unzip既能压缩解压又能归档,后缀.zip
压缩 zip newname.zip file
解压:unzip
归纳总结:
1.文件的后缀对Linux系统无实际意义,但时在压缩解压有实际意义,要注意文件的扩展名
2.gzip、bzip2、xz都只支持压缩文件 不支持目录
3.tar本身只能对文件归档但不能压缩解压操作,通过调用gzip、bzip2、xz实现归档压缩
4.tar纯粹做归档操作,得到的文件大小会比其归档的每个文件大小和还要大
5.tar展开压缩的归档文件是无需指明索要解压扩展的文件的压缩算法,因为其可以自动识别