压缩
压缩是挤压数据使得它占用更少的存储空间,从而达到节省磁盘空间,方便维护备份文件和传输文件的作用。
zip命令
Zip是一种常用的压缩程序,它使用一种基于DEFLATE算法的压缩技术来压缩文件,并且通常具有比其他压缩格式更高的压缩比。CentOS中默认没有安装zip相关软件,使用yum install zip unzip -y
命令来安装
压缩
-
压缩单个文件
命令格式:zip 压缩文件名 原文件名
zip filename.zip file
将file文件压缩到filename.zip文件中
-
压缩目录文件
命令格式:zip -r 压缩文件名 原目录名
zip -r filename.zip filedir
将filedir目录压缩到filename.zip文件中
解压
命令格式:unzip 压缩文件名 -d 解压目录
unzip filename.zip -d filedir
将filename.zip解压到filedir目录,若不指定-d则解压到当前目录
gzip命令
gzip是一种常用的压缩程序,它使用DEFLATE算法来压缩文件,可实现较高的压缩比。通过此命令压缩得到的新文件,其文件后缀名为“.gz”。
gzip命令只能用来压缩文件,不能压缩目录,即使指定了目录,也只能压缩目录内的所有文件。
命令格式
gzip [选项] 源文件
常用选项
- -c:将压缩数据输出到标准输出中,并保留源文件。
- -d:对压缩文件进行解压缩。
- -r:递归压缩指定目录下以及子目录下的所有文件。
- -l:查看压缩文件内容。
示例
-
压缩文件:
gzip file1.txt # 将file1.txt压缩成file1.txt.gz
-
解压缩文件:
gzip -d file1.txt.gz # 将 file1.txt.gz 解压缩成 file1.txt
-
查看压缩文件内容:
gzip -l file1.txt.gz
xz命令
xz是一种高效的压缩格式,它使用LZMA2算法来压缩文件,可实现较高的压缩比。通过此命令压缩得到的新文件,其文件后缀名为“.xz”。
同样的,xz命令也只能用来压缩文件,不能压缩目录。
命令格式
xz [选项] 源文件
常用选项
- -z:压缩
- -d:对压缩文件进行解压缩
- -al:查看压缩文件内容。
示例
-
压缩文件:
xz file1.txt # 将file1.txt压缩成file1.txt.xz
-
解压缩文件:
xz -d file1.txt.xz # 将 file1.txt.xz 解压缩成 file1.txt
-
查看压缩文件内容:
xz -l file1.txt.xz
tar命令
tar是一种常用的归档程序,它可以将多个文件和目录打包成一个文件,便于传输和备份。用途:制作归档文件、释放归档文件
tar文件是一种归档文件,包含多个文件,但是没有经过压缩,需要配合gzip等压缩命令来压缩。
命令格式
命令格式:
- tar [选项] 归档文件名 源文件或目录
- tar [选项] 归档文件名 [-C 目标目录]
常用命令选项
-
-c:创建 .tar 格式的包文件
-
-x:解开.tar格式的包文件
-
-v:输出详细信息,详细显示打包和解包的过程
-
-f:表示使用归档文件
-
-t:列表查看包内的文件
-
-p:保持原文件的原来属性
-
-P:保持原文件的绝对路径
-
-C:解包时进入指定的目标文件夹
-
-z:调用gzip程序进行压缩或解压
-
-J:调用xz程序进行压缩或解压
-
-j:调用bz2程序进行压缩或解压
-
-exclude:在打包时排除指定文件或目录。
-
-wildcards:使用通配符来指定需要打包的文件或目录。
示例
- 创建一个新的tar归档文件:
将file1,file2,dir1归档到archive.tar文件内
tar -cvf archive.tar file1 file2 dir1
- 解压缩tar归档文件:
将archive.tar文件解压到当前目录
tar -xvf archive.tar
- 解压缩经过gzip压缩的tar归档文件到/home路径下:
tar -xzvf archive.tar.gz -C /home
- 解压缩经过xz压缩的tar归档文件:
tar -xJvf archive.tar.xz
5.向已有的tar归档文件中追加文件或目录:
tar -rvf archive.tar file3 dir2
6.打包时排除指定文件或目录:
tar -cvf archive.tar --exclude=dir1 file1 file2
常见提醒
tar: 从成员名中删除开头的“/”
在tar命令中,成员名指的是要在归档中包含的文件或目录的名称。如果在执行tar命令时指定了绝对路径的成员名(即以“/”开头),tar命令将删除开头的“/”,以相对路径形式将其添加到归档中。