Linux系统中压缩包的后缀有.zip、.gz、.bz2、.xz等,后缀不同表示压缩方式不同。
1.打包命令 tar
tar命令用于备份文件的命令,该命令可打包多个文件或目录,也可将被打包的文件与目录从包中还原。
tar 选项 包名 {参数}
包名是指打包的文件名
参数可以是文件名列表或目录名
选项是规定打包的方式
常用选项:
选项 | 说明 |
---|---|
-c | 创建新的备份文件 |
-x | 从备份文件中还原文件 |
-v | 显示命令执行过程 |
-f | 指定备份文件 |
-z | 打包完成后使用gzip命令将包压缩 |
-j | 打包完成后使用bzip2命令将包压缩 |
-p | 保留包中文件原来的属性 |
例:
#将目录test下的文件打包
[root@localhost ~]$ tar -cvf test.tar ./test
#将目录test下的文件打包,并以gzip命令将包压缩
[root@localhost ~]$ tar -zcvf test.tar.gz ./test
压缩与解压
1)zip/unzip命令
用zip压缩的文件的压缩包一般命名为“文件名.zip”
zip [选项] 压缩包名 参数
参数可以是文件或者目录。
常用选项:
选项 | 说明 |
---|---|
-j | 只保留文件名称及内容,不存放任何目录名称 |
-m | 文件压缩完成后,删除原始文件 |
-o | 以压缩文件内拥有最新更改时间的文件为准,更新压缩文件的更改时间 |
-r | 当参数为目录时,递归处理目录下的所有文件或子目录 |
例:
#递归压缩目录 test
[root@localhost ~]$ zip -r test.zipc test
.zip格式的压缩文件用unzip命令解压:
unzip [选项] 压缩包名
常用选项:
选项 | 说明 |
---|---|
-l | 显示指定压缩包中所包含的文件 |
-M | 将输出结果送到more程序处理 |
-n | 解压时不要覆盖原有文件 |
-o | 命令执行后直接覆盖原有文件 |
-d | 指定解压后文件要存放的目录,如果不存在该目录,会创建该目录 |
默认情况下压缩包会解压到当前目录。
2)gzip/gunzip命令
gzip用于压缩文件,压缩包一般命名为“文件名.gz”,压缩后默认不保留原始文件。
gzip [选项] 参数
参数可以是一个或多个文件,当参数是目录时,需使用参数 -r ,表示递归处理目录中的文件与子目录中的文件;当参数是多个文件时,每个文件会单独被压缩。
#递归压缩目录 test 中的文件与所有子目录中的文件
[root@localhost ~]$ gzip -r test/*
命令gunzip用于解压.gz格式的压缩包:
gunzip [选项] 参数
例:
gunzip a.txt.gz
3) bzip2/bunzip2 命令
压缩包名一般命名为“文件名.bz2”。
bzip2 [选项] 参数
bzip2的使用方法和gzip差不多,也会删除原始文件,但是可添加选项“-k”保留原始文件。
4)xz/unxz命令
和bzip2类似,这里不做演示。