linux 文件压缩与打包笔记
压缩原理:通过算法去掉空位,1Bytes=8bits ,
可能存储的真正有用的数据并没有占满一个字节空间 ,
还有就是可能有重复的数据,通过某种算法从这些方面进行压缩处理...
linux 中的扩展名其实没有什么用,主要是为了区分...
常见的压缩扩展名有 Z zip gz bz2 xz tar tar.gz tar.bz2 tar.xz
tar 只是把多个文件进行打包,并没有压缩
gzip是为了取代compress bzip2是为了取代gzip xz 比前面压缩比更高
gzip 可以解压zip、gzip压缩的文件
gzip 11.txt //压缩 注:压缩或解压后不会保留源文件
gzip -d 11.txt.gz //解压缩
gzip -c 11.txt>halo.gz //压缩保留源文件 -c 数据流重定向>
gzip -cd halo.gz>22.txt //解压缩保留源文件
zcat 读取压缩文件的内容
zcat halo.gz
zgrep '要搜索的字符' halo.gz //搜索压缩文件里的内容
zgrep -n '123' halo.gz //搜索并显示行号
bzip2 ?? 没有这个命令 需要安装
bzip2 -k 1.txt halo.bz2 //-k 保留源文件
bzip2 -dk halo.bz2 //解压缩
bzcat 读取压缩文件内容
bzgrep 搜索文件内容
xz
xz 11.txt //压缩不保留源文件默认
xz -k 11.txt //压缩保留源文件 -k
xz -ck 11.txt>22.xz //重新向 可以重命名 压缩成指定文件
xz -dk 11.txt.xz //解压缩保留源文件
xz -cdk 11.txt.xz>22.txt //解压缩重定向保留原文件
tar 打包命令 -c 创建 -v 显示过程 -z gzip压缩 -j bzip2压缩
-J xz压缩 -f 生成的包名 -C 输出目录
tar -cvf //打包成tar包
tar -cvf 11.tar 11.txt
tar -cvzf //打包成tar.gz包
tar -cvzf 11.tar.gz 11.txt
tar -cvjf //打包成tar.bz2
tar -cvJf //打包成tar.xz包
tar -xvf 解压缩
tar -xvf 11.tar.gz
--exclude 排除某个文件
touch 1.txt
touch 2.txt
tar -cvf halo.tar ./* --exclude=./2.txt //排除2.txt