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