Linux系列之压缩与解压
1.压缩技术
1.常用命令实例
1.zip格式的压缩与解压缩
zip是压缩指令,unzip是解压指令。zip指令既可以压缩文件,也可以压缩目录。压缩会自动保留源文件,解压会自动保留压缩文件。
zip -r yasuo.zip demo.txt mydir //该命令是将demo.txt文件和目录mydir压缩成压缩文件yasuo.zip,选项-r表示递归
zip -r mydir.zip mydir //压缩当前目录下的子目录mydir
unzip yasuo.zip //解压yasuo.zip文件到当前目录
unzip -d /mydir yasuo.zip //把压缩文件解压到指定的mydir目录
unzip -t yasuo.zip //检查压缩文件是否损坏
unzip -l demo.zip //显示demo.zip压缩包中有哪些文件,不进行解压
unzip -n demo.zip //解压时不覆盖已存在的文件
更多详细用法请参考:https://www.cnblogs.com/dylancao/p/9650242.html
注意:zip指令需要指定文件压缩后的压缩包名,否则会提示“zip error:nothing to do!”。
注意:直接使用unzip指令(不带选项)解压文件时,如果解压文件中包含有文件与当前目录下的某个文件重名,那么会询问是否要覆盖这个文件。
2.gz格式的压缩与解压
gzip指令既可以压缩文件,还可以解压文件。gzip不能够压缩目录,在缺少-c选项时,压缩不会保留源文件,解压不会保留压缩文件。
格式:
gzip filename //压缩文件至当前目录且不保留源文件
gzip -c filename > filename.gz //把压缩后的文件输出至标准输出设备且保留源文件
gzip * //将当前目录下的文件(如果存在目录,就忽视掉目录)批量压缩产生多个压缩文件,并不是只产生一个压缩文件
gzip -d filename.gz //解压文件至当前目录且不保留压缩文件
gzip -c filename.gz > filename //解压文件至当前目录并且保留压缩文件
gzip -d * //解压文件至当前目录且不保留压缩文件
gzip -t filename.gz //检测压缩包的好坏
gzip -l filename.gz //显示压缩文件内的文件内容列表
实例:
3.tar格式的压缩与解压
当你想要压缩一堆文件时,你必须先将这些文件打包成一个文件,再对这个文件进行压缩。
压缩时会保留源文件,解压时会保留压缩文件。
格式:tar [主选项] [辅选项] 文件或目录 //主选项告诉tar干什么,因此必须有
实例:
tar czvf myfile.tar.gz ./*.txt //将当前目录下的所有txt文件打包并压缩成myfile.tar.gz文件
tar xzvf myfile.tar.gz ./ //将压缩文件myfile.tar.gz解压到当前目录下,存在相同文件则会覆盖原来文件
tar tvf myfile.tar.gz //查看压缩文件中包含哪些目录与文件(并没有解压文件)
4.tar.xz格式的解压方法
1.常见压缩扩展名及对应压缩指令
Linux上常见的压缩指令就是gzip,bzip以及最新的xz这三个压缩指令,compress压缩指令已经过时了;tar指令仅仅是将多个文件“打包”成一个文件,并没有对文件进行压缩。
注意::Linux与windows系统的压缩与解压缩是有很大区别的,
下面详细了解一下常用的压缩指令
2.压缩指令详解
1.gzip指令
gzip指令可以说是应用最广的压缩指令,目前gzip可以解开compress,zip以及gzip等软件所压缩的文件。
1.格式
2.tar指令
关于该指令的详细讲解请移步https://www.cnblogs.com/xccjmpc/p/6035397.html
2.常见情况
1.在压缩文件中修改文件内容
参考:(6条消息) linux 修改文件内容_Linux下查看压缩文件内容的 10 种方法_weixin_39929877的博客-CSDN博客