Linux 常见解压与压缩

Linux 压缩与解压命令

格式 解压 压缩
 
tar
(仅打包不压缩)
tar -xvf [原文件名].tar tar -cvf [目标文件名].tar [原文件名/目录名]
 
tar.bz2 bunzip2 [原文件名].tar.bz2 bzip2 [原文件名].tar
tar.bz2
(通过 tar 调用)
tar -jxvf [原文件名].tar.bz2 tar -jcvf [目标文件名].tar.bz2 [原文件名/目录名]
 
tar.gz gunzip [原文件名].tar.gz gzip [原文件名].tar
tar.gz
(通过 tar 调用)
tar -zxvf [原文件名].tar.gz tar -zcvf [目标文件名].tar.gz [原文件名/目录名]
 
tar.xz unxz [原文件名].tar.xz xz [原文件名].tar
tar.xz
(通过 tar 调用)
tar -Jxvf [原文件名].tar.xz tar -Jcvf [目标文件名].tar.xz [原文件名/目录名]
 
tar.Z
(已过时)
uncompress [原文件名].tar.Z compress [原文件名].tar
tar.Z
(通过 tar 调用)
tar -Zxvf [原文件名].tar.Z tar -Zcvf [目标文件名].tar.Z [原文件名/目录名]
 
7z 7z x [原文件名].7z 7z a [目标文件名].7z [原文件名/目录名]
 
jar jar -xvf [原文件名].jar jar -cvf [目标文件名].jar [原文件名/目录名]
 
zip unzip [原文件名].zip zip -r [目标文件名].zip [原文件名/目录名]

CSS 压缩 initial、normal

CSS 压缩在完成简单的字符替换,空白符压缩之后,还可以进一步进行特定 value 压缩。

比如:

/* 压缩前 */
.main{margin:initial}

/* 压缩后 */
.main{margin:0px}

/* 进一步压缩 */
.main{margin:0}

最后只需要占用一个字符就达到 initial 效果。

css initial 是一个特殊值,用于设置一些复杂、容易混淆的、难记忆的初始值非常有效。

/* 压缩前 */
.main{background:initial}

/* 压缩后 */
.main{background:rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box}

对于这种真实样式比 initial 更长的样式可以不用压缩。

Chrome 下 css initial 对应真实值

在多个浏览器遍历设置元素 css 样式为 initial,再通过 getComputedStyle 获取真实样式,将其中相同的部分归纳到 initial 集合中,提供给压缩脚本使用,即可完成 css 特定 value 压缩。

同样可以压缩 css normal,使文件更小。