前言
归档(打包) 指将多个文件或目录不经过压缩储存在一个文件中,方便传输。由于其未经过压缩,故大小于之前相同 压缩 利用算法将文件进行处理,使其保留信息的同时让文件体积变小。
但如果文件本身过小,按照一定算法压缩后可能体积变大,例如:
1111111111 //十个一
1 //一个一
按照如上算法,第二个明显体积变大
压缩
常用的压缩命令有三个,分别是gzip 、bzip2 、xz ,但这里不得不提到zip ,Windows常见的压缩格式就是zip ,但在Linux中,上三中压缩方法的压缩率比zip 要高,但是不能压缩目录(归档);还有一点就是zip 压缩会默认替换后缀,但其余三种压缩会默认在原文件名后加上相应后缀
zip和unzip命令
zip是及归档又压缩的工具,可以压缩目录 压缩:zip FILE 解压:unzip FILE
- 准备一个目录及其子目录,并在其下创建文件
- 使用
zip 压缩文件file1.txt 命令:zip 压缩文件名 源文件名 这里的* 是通配符,表示匹配file1 后任意字符任意次数 - 使用
-9 令压缩率最高 命令:zip -9 压缩文件名 源文件名 这里可以看到,由于file2.txt过小,即使使用压缩率最高的方式,压缩后的文件也比与源文件体积大 - 使用
-r 选项压缩目录及目录下文件 命令:zip -r 压缩文件名 源目录名 - 使用
-m 选项向压缩文件file1.zip 中添加file2.txt 文件 命令:zip -m file1.zip file2.txt - 使用
-d 选项删除压缩文件中的文件 命令:zip -d file1.zip file2.txt - 使用
-x 选项压缩文件时排除某个文件 命令:zip 压缩文件名 源文件 -x 被排除文件 - 解压文件
命令:unzip 压缩文件名 由于存在一个file2.txt ,故这里提示覆盖等选项 - 使用
-d 选项指定解压后的目录 命令:unzip 压缩文件名 -d 目录 - 使用
-v 选项查看压缩文件目录,但不解压 命令:unzip -v 压缩文件名
gzip和gunzip
gzip 命令十分好记,和zip 差不多,而且解压缩就是g +unzip ,之后的两个命令亦是如此
- 压缩文件
命令:gzip 源文件 默认加上gz 后缀且替换源文件 发现大小为30,的确比zip 压缩率高 - 使用
-r 选项指定压缩某个目录下的文件 命令:gzip -r 目录 - 使用
-c 和重定向符指定压缩后的文件名,以保留源文件 命令:gzip -c 源文件 > 压缩文件名 - 查看压缩后的文件,但不解压
命令:zcat 文件名.gz 先用tee 定向输入到屏幕和file1,txt 文件,再将其压缩,最后使用zcat 读取 - 解压
命令:gunzip 文件名.gz (gunzip=gzip -d )
bzip2和bunzip2
bzip2 是更新的Linux压缩工具,有着比gzip 更高的压缩率,且命令相似
bzip2 源文件
bzip2 -9 源文件
bzip2 -c 源文件 > 压缩文件名.bz2
bzip2 -d 压缩文件名.bz2
bzcat 压缩文件名.bz2
xz和unxz
xz 源文件
xz dir/*
xz -d 压缩文件名.xz
xzcat 压缩文件名.xz
归档
tar [选项] 打包文件名 被打包源文件或目录列表 tar [选项] 打包文件名 [-C 目标目录]
选项 | 功能 |
---|
c | 创建.tar格式的包文件 | x | 释放.tar格式的包文件 | t | 查看包中的文件列表 | v | 表示在命令执行时显示详细的提示信息 | f 包文件名 | 用于指定包文件名。当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与-x选项一起使用时,则释放该选项指定的tar包文件。 | p | 打包时保留文件及目录的权限。 | z | 调用gzip程序,以gzip格式压缩或解压缩文件。 | j | 调用bzip2程序,以bzip2格式压缩或解压缩文件。 | J | 使用xz压缩(.tar.xz)。xz的压缩率通常比bzip2更高。 | C 目录路径名 | 释放包时指定释放的目标的位置。 |
-
归档(打包),但不压缩 命令:tar cvf 包文件名.tar 目录或文件列表 -
创建带压缩的包文件 命令:tar c[z|j|J]f 包文件名 目录或文件列表 tar 支持三种压缩方式 带压缩的打包方式体积明显变小 -
列出包文件中的文件列表 命令:tar t[v]f 包文件名 -
提取包文件到指定目录 命令:tar x[v]f 包文件名 [-C 目标目录]
|