Linux世界的三种压缩解压方式,zip/unzip方式压缩解压、tar方式压缩解压、jar方式压缩解压暨shopt extglob反选示例
zip/unzip方式、tar方式压缩解压是Linux中的通用方式,而jar方式是只有配置了java环境之后才会有的。
以下的所有操作前提是在你的机器上zip/unzip、tar、jar命令都可用
本文只讲方法,不讲理论,这几种命令官方提供可带的参数太多了,有兴趣的man一下这个命令自行研究
我提供的操作并带上相应的参数可以应付90%的日常使用场景
第一,zip和unzip
unzip解压
unzip -o 压缩包 -d 目录
zip压缩
zip -r 压缩包 待压缩文件夹和文件
第二,tar
tar解压
tar -zxvf 压缩包 -C 目录
tar压缩
tar -zcvf 压缩包 待压缩文件夹和文件
第三,jar
jar解压
jar -xvf 压缩包(只能解压到当前目录)
jar压缩
jar -cvfM0 压缩包 待压缩文件夹和文件(大写的M后面的那个是数字零)
Linux中命令的参数一般带上 -r 表示递归,操作生效于指定目录下的所有文件夹和文件,-f 表示暴力操作,不必询问,-d/-C 一般表示指定目录,要用的时候man一下这个命令看说明
另外,很多场景下(比如,压缩多个文件后有了压缩包,我们往往不再需要被压缩的多个文件,要删除除了压缩包以外的所有文件夹和文件)需要反选,即在一个文件夹下面选择指定的文件或文件夹以外的所有文件夹和文件,这个时候可以使用grep -v筛选字符串反选,也可以开启系统的反选功能,shopt -s extglob开启反选,shopt -u extglob关闭反选