Linux 上常见的压缩解压命令
在 linux 学习压缩命令
linux 上的压缩命令 tar
说明:tar 是 linux 中最常用的解压缩命令。tar 命令可用于处理后缀名为 tar,tar.gz,tgz,.tar.Z,tar.bz2 的文件
参数说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15-c 建立新的压缩文件
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-v 显示操作过程
-k 保留源有文件不覆盖
-C 切换到指定目录
-f 指定压缩文件
--delete 删除包中文件
--strip-components 去除目录
--add-file 向包中添加文件压缩
归档 tar 包,不压缩
1
2
3tar -cvf test.tar test1.log test2.log #归档多个文件
tar -cvf test.tar test/* #归档test目录下所有文件
tar -cvf test.tar *.log #归档所有以.log结尾的文件归档并压缩为 tar.gz 或 tar.bz2
1
2tar -zcvf test.tar.gz file1 file2 #打包,并以gzip压缩
tar -jcvf test.tar.bz2 file1 file2 #打包,并以bzip2压缩
解压
解压 tar.gz 和 tar 包到当前目录
1
2tar -xvf test.tar.gz
tar -xvf test.tar解压到指定目录
1
2tar -xvf test.tar.gz -C dir
tar -xvf test.tar -C dir
linux 上的压缩命令 zip/unzip
命令说明:zip 和 unzip 命令主要用于处理 zip 包
参数说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# zip部分
-d 从压缩文件内删除指定的文件。
-f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
- <压缩效率> 压缩效率是一个介于1-9的数值。
# unzip部分
-l 显示压缩文件内所包含的文件
-j 只保存文件名称及其内容,而不存放任何目录名称。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该
-v 显示指令执行过程或显示版本信息。
-d 指定解压目录,目录不存在会创建压缩
压缩文件
1
2zip -r test.zip test/ #打包test目录下的文件
zip -rj test.zip test/ #打包test目录下文件,且压缩包不带test目录指定压缩率打包文件
1
zip -r8 test.zip test/* #数值(1-9)越大,压缩率越高,耗时越长
解压
- 查看压缩包中的文件信息
1
2unzip -l test.zip #可以看到压缩包中的文件名,日期等信息
unzip -v test.zip #查看更多信息,例如crc校验信息等 - 解压压缩包
1
unzip -o test.zip -d dir #讲test.zip解压到dir目录
- 查看压缩包中的文件信息
linux 上的压缩命令 gzip/gunzip
命令说明
1
2
3
4-k 保留源文件
-d 解开压缩文件
-r 递归处理,将指定目录下的所有文件及子目录一并处理
-v 显示指令执行过程压缩
1
2# 注意:该命令只能压缩文件
gzip [需要压缩的文件]解压
1
2# 注意:解压后不保留原文件
gunzip [需解压缩的文件]
linux 上的压缩命令 bzip2/bunzip2
压缩
1
2
3# 只压缩文件
bzip2 [-k] [文件]
# -k 产生压缩文件后保留原文件解压
1
2bunzip2 选项 [-k] [压缩文件]
# -k 解压缩文件后保留原文件
linux 上的压缩命令 rar/unrar
命令说明:rar 和 unrar 命令并非 linux 发行版自带命令,需要另外安装
压缩
1
rar a test.tar test #将test文件压缩为test.tar
解压
1
2rar e test.rar #解压test.tar
unrar x test.rar #解压test.tar
linux 上的压缩命令 7za
** 命令说明:** 解压.7z 结尾的压缩文件
解压
1
7za x [文件.7z] -o [输出目录]
压缩
1
7za a [文件.7z] [待压缩内容]
linux 压缩格式的压缩率比较?
- tar.bz2>tar.gz>zip>tar
- 压缩率越高,压缩以及解压的时间也就越长
linux 上按格式快速查找解压命令?
.tar
1
tar -xvf file.tar
.gz
1
gunzip all.gz
.tgz 或.tar.gz
1
2tar -xzf all.tgz
tar -xzf all.tar.gz.bz2
1
bunzip2 all.bz2
.tar.bz2
1
tar -xjf all.tar.bz2
.Z
1
uncompress all.Z
.tar.Z
1
tar -xZf all.tar.z
.zip
1
2# 解压之后也是保留原文件
uzip file.zip.rar
1
2rar e file.rar #解压test.tar
unrar x file.rar #解压test.tar