Linux常用命令——解/压缩,解/打包

Linux的解/压缩、解/打包命令详解

在这里插入图片描述

1、".zip"格式

zip格式是Windows下最常用的,不过Linux也可以识别

压缩

  • 命令名称:zip

  • 英文原意:package and compress(archive) files

  • 所在路径:/usr/bin/zip

  • 执行权限:所有用户

  • 功能描述:压缩文件或目录; [ 打包和压缩(存档)文件 ]

命令格式

zip [选项] 压缩包名 源文件或源目录
选项:
	-r:压缩目录

案例演示:

压缩文件
[root@localhost yichen]# touch a.txt
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 15:44 a.txt
[root@localhost yichen]# zip a.zip a.txt 
  adding: a.txt (stored 0%)
[root@localhost yichen]# ll
total 4
-rw-r--r--. 1 root root   0 Sep  6 15:44 a.txt
-rw-r--r--. 1 root root 160 Sep  6 15:44 a.zip
[root@localhost yichen]#

压缩目录
[root@localhost yichen]# mkdir eichi 
[root@localhost yichen]# ll
total 4
-rw-r--r--. 1 root root   0 Sep  6 15:44 a.txt
-rw-r--r--. 1 root root 160 Sep  6 15:44 a.zip
drwxr-xr-x. 2 root root   6 Sep  6 15:45 eichi
[root@localhost yichen]# zip eichi.zip eichi/
  adding: eichi/ (stored 0%)
[root@localhost yichen]# ll
total 8
-rw-r--r--. 1 root root   0 Sep  6 15:44 a.txt
-rw-r--r--. 1 root root 160 Sep  6 15:44 a.zip
drwxr-xr-x. 2 root root   6 Sep  6 15:45 eichi
-rw-r--r--. 1 root root 162 Sep  6 15:45 eichi.zip
[root@localhost yichen]#

解压

zip格式的解压命令是unzip

  • 命令名称:unzip

  • 英文原意:list,test and extract compressed files in a ZIP archive

  • 所在路径:/usr/bin/unzip

  • 执行权限:所有用户

  • 功能描述:[在压缩文件中列出、测试和提取压缩文件]

命令格式:

unzip [选项] 压缩包名
选项:
	-d : 指定压缩位置

案例演示:

正常压缩
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 160 Sep  6 15:55 a.zip
[root@localhost eichi]# unzip a.zip 
Archive:  a.zip
 extracting: a.txt                   
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root   0 Sep  6 15:55 a.txt
-rw-r--r--. 1 root root 160 Sep  6 15:55 a.zip

指定压缩位置
[root@localhost eichi]# mkdir yichen 
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root   0 Sep  6 15:55 a.txt
-rw-r--r--. 1 root root 160 Sep  6 15:55 a.zip
drwxr-xr-x. 2 root root   6 Sep  6 15:59 yichen
[root@localhost eichi]# unzip -d /eichi/yichen/ a.zip
Archive:  a.zip
 extracting: /eichi/yichen/a.txt     
[root@localhost eichi]# cd yichen
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 15:55 a.txt

2、".gz"格式

注意:此格式是不会打包的,使用的是gzip进行压缩

压缩

”.gz“格式是Linux中最常用的压缩命令,使用的是gzip命令进行压缩

  • 命令名称:gzip

  • 英文原意:compressed or expand files

  • 路径:/bin/gzip

  • 执行权限:所有用户

  • 功能描述: 压缩文件或目录,[压缩或扩展文件]

命令格式

gzip [选项] 源文件
选项:
	-c	将压缩数据输出到标准输出中,可以用于保留源文件
	-d 	解压缩
	-r	压缩目录

案例演示:

正常压缩会删除源文件
[root@localhost eichi]# touch b.txt
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 16:11 b.txt
[root@localhost eichi]# gzip b.txt 
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 26 Sep  6 16:11 b.txt.gz

使用-c选项,不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样压缩时就不会删除源文件
[root@localhost eichi]# touch a.txt
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 16:12 a.txt
[root@localhost eichi]# gzip -c a.txt > z.txt.gz
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root  0 Sep  6 16:12 a.txt
-rw-r--r--. 1 root root 26 Sep  6 16:12 z.txt.gz

压缩目录
[root@localhost eichi]# mkdir yichen
[root@localhost eichi]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep  6 16:15 yichen
[root@localhost eichi]# gzip -r -d yichen > yichen.gz
[root@localhost eichi]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep  6 16:15 yichen
-rw-r--r--. 1 root root 0 Sep  6 16:17 yichen.gz

解压

可以使用gzip -d 或gunzip 来对gz文件进行解压

  • 命令名称:gunzip

  • 英文原意:compressed or expand files

  • 路径:/bin/gunzip

  • 执行权限:所有用户

  • 功能描述: 解压文件或目录,[压缩或扩展文件]

案例演示:

[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 22 Sep  6 16:20 a.gz
-rw-r--r--. 1 root root 22 Sep  6 16:20 b.gz
[root@localhost eichi]# gzip -d a.gz 
[root@localhost eichi]# gunzip b.gz 
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 16:20 a
-rw-r--r--. 1 root root 0 Sep  6 16:20 b

3、".bz2"格式

是Linux的另一种压缩格式,此格式的算法更加先进,压缩比更好,但是.gz格式的压缩时间更快

压缩

  • 命令名称:bzip2

  • 英文原意:a block-sorting file compressor

  • 路径:/usr/bin/bzip2

  • 执行权限:所有用户

  • 功能描述: [块排序文件压缩程序 ]

命令格式

[root@localhost ~]#bzip2 [选项] 源文件
选项∶
	-d	解压缩
	-k	压缩时,保留源文件
	-v	显示压缩的详细信息

案例演示:

默认打包,不保留源文件
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 16:20 a
-rw-r--r--. 1 root root 0 Sep  6 16:20 b
[root@localhost eichi]# bzip2 a 
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 14 Sep  6 16:20 a.bz2
-rw-r--r--. 1 root root  0 Sep  6 16:20 b

保留源文件
[root@localhost eichi]# bzip2 -k b 
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep  6 16:20 a.bz2
-rw-r--r--. 1 root root  0 Sep  6 16:20 b
-rw-r--r--. 1 root root 14 Sep  6 16:20 b.bz2

显示压缩时的详细信息
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep  6 16:20 a.bz2
-rw-r--r--. 1 root root 19 Sep  6 16:28 b
[root@localhost eichi]# 
[root@localhost eichi]# 
[root@localhost eichi]# 
[root@localhost eichi]# 
[root@localhost eichi]# gzip -v b
b:	-10.5% -- replaced with b.gz
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep  6 16:20 a.bz2
-rw-r--r--. 1 root root 41 Sep  6 16:28 b.gz

解压

可以使用bzip2 -d 或bunzip2来对bz2文件进行解压

  • 命令名称:bunzip

  • 英文原意:a block-sorting file compressor

  • 路径:/usr/bin/bunzip2

  • 执行权限:所有用户

  • 功能描述: 解压文件或目录,[压缩或扩展文件]

案例演示:

两种bzip2格式的解压演示
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep  6 16:20 a.bz2
-rw-r--r--. 1 root root 57 Sep  6 16:28 b.bz2
[root@localhost eichi]# 
[root@localhost eichi]# 
[root@localhost eichi]# 
[root@localhost eichi]# 
[root@localhost eichi]# bzip2 -d a.bz2 
[root@localhost eichi]# bunzip2 b.bz2 
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root  0 Sep  6 16:20 a
-rw-r--r--. 1 root root 19 Sep  6 16:28 b

4、".tar"格式

注意:tar是打包不会压缩的

打包

tar既可以打包,又可以解打包,只是选项不同

  • 命令名称:tar

  • 英文原意:tar

  • 路径:/bin/tar

  • 执行权限:所有用户

  • 功能描述: 解包与解打包命令

命令格式

tar [选项] [-f 压缩包名] 源文件或目录
选项:
	-c	打包
	-f	指定压缩包的文件名;压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名
	-v	显示打包文件过程

案例演示:

[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root  0 Sep  6 16:20 a
-rw-r--r--. 1 root root 19 Sep  6 16:28 b
[root@localhost eichi]# tar -cvf a.tar a
a
[root@localhost eichi]# ll
total 16
-rw-r--r--. 1 root root     0 Sep  6 16:20 a
-rw-r--r--. 1 root root 10240 Sep  6 16:43 a.tar
-rw-r--r--. 1 root root    19 Sep  6 16:28 b

解打包

".tar"格式的解打包用的也是tar命令,不过选项不一样

tar [选项] 压缩包
选项:
	-x	解打包
	-f	指定压缩包的文件名
	-v	显示解打包文件过程
	-t	测试,就是不解打包,只是查看包中有哪些文件
	-C	目录:指定解打包位置

案例演示:

[root@localhost eichi]# ll
total 24
-rw-r--r--. 1 root root 10240 Sep  6 16:43 a.tar
-rw-r--r--. 1 root root 10240 Sep  6 16:55 b.tar
[root@localhost eichi]# tar -xvf a.tar 
a
[root@localhost eichi]# tar -xvf b.tar 
b
[root@localhost eichi]# ll
total 28
-rw-r--r--. 1 root root     0 Sep  6 16:20 a
-rw-r--r--. 1 root root 10240 Sep  6 16:43 a.tar
-rw-r--r--. 1 root root    19 Sep  6 16:28 b
-rw-r--r--. 1 root root 10240 Sep  6 16:55 b.tar

由于".gz"、".bz2"格式不能打包,".tar"格式不能压缩;所以将二者结合一下,就产生了以下的格式

5、".tar.gz"和".tar.bz2"格式

使用tar直接进行打包压缩,选项不同而已

tar [选项] 压缩包源文件或目录
选项:
	-z	压缩和解压缩".tar.gz"格式
	-j	压缩和解压缩".tar.bz2"格式

案例演示1

打包压缩 tar.gz格式
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 17:07 a
-rw-r--r--. 1 root root 0 Sep  6 17:07 b
[root@localhost eichi]# tar -zcvf a.tar.gz a
a

打包压缩 tar.bz2格式
[root@localhost eichi]# tar -jcvf b.tar.bz2 b
b
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root   0 Sep  6 17:07 a
-rw-r--r--. 1 root root 101 Sep  6 17:08 a.tar.gz
-rw-r--r--. 1 root root   0 Sep  6 17:07 b
-rw-r--r--. 1 root root 108 Sep  6 17:10 b.tar.bz2

解打包,解压缩tar.gz格式
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 101 Sep  6 17:08 a.tar.gz
-rw-r--r--. 1 root root 108 Sep  6 17:10 b.tar.bz2
[root@localhost eichi]# tar -zxvf a.tar.gz 
a
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root   0 Sep  6 17:07 a
-rw-r--r--. 1 root root 101 Sep  6 17:08 a.tar.gz
-rw-r--r--. 1 root root 108 Sep  6 17:10 b.tar.bz2

解打包,解压缩tar.bz2格式
[root@localhost eichi]# tar -jxvf b.tar.bz2 
b
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root   0 Sep  6 17:07 a
-rw-r--r--. 1 root root 101 Sep  6 17:08 a.tar.gz
-rw-r--r--. 1 root root   0 Sep  6 17:07 b
-rw-r--r--. 1 root root 108 Sep  6 17:10 b.tar.bz2
[root@localhost eichi]# 

案例演示2

[root@localhost eichi]# touch {a..d}
#在eichi下创建a,b,c,d四个文件
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 17:24 a
-rw-r--r--. 1 root root 0 Sep  6 17:24 b
-rw-r--r--. 1 root root 0 Sep  6 17:24 c
-rw-r--r--. 1 root root 0 Sep  6 17:24 d

[root@localhost ~]# tar -zcvf eichi.tar.gz eichi/
#将四个文件打包并压缩为.tar.gz格式
eichi/
eichi/a
eichi/b
eichi/c
eichi/d
eichi/eichi.tar.gz

[root@localhost ~]# cd eichi
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root  0 Sep  6 17:24 a
-rw-r--r--. 1 root root  0 Sep  6 17:24 b
-rw-r--r--. 1 root root  0 Sep  6 17:24 c
-rw-r--r--. 1 root root  0 Sep  6 17:24 d
-rw-r--r--. 1 root root 45 Sep  6 17:24 eichi.tar.gz

[root@localhost ~]# tar -ztvf eichi.tar.gz 
#之查看压缩文件里的内容,不解压
drwxr-xr-x root/root         0 2020-09-06 17:24 eichi/
-rw-r--r-- root/root         0 2020-09-06 17:24 eichi/a
-rw-r--r-- root/root         0 2020-09-06 17:24 eichi/b
-rw-r--r-- root/root         0 2020-09-06 17:24 eichi/c
-rw-r--r-- root/root         0 2020-09-06 17:24 eichi/d
-rw-r--r-- root/root        45 2020-09-06 17:24 eichi/eichi.tar.gz

[root@localhost ~]# tar -zxvf eichi.tar.gz -C /tmp
#解压缩到指定的位置,由于指定了一个目录,所以要用-C选项
eichi/
eichi/a
eichi/b
eichi/c
eichi/d
eichi/eichi.tar.gz

检查
[root@localhost ~]# cd /tmp/eichi/
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root  0 Sep  6 17:24 a
-rw-r--r--. 1 root root  0 Sep  6 17:24 b
-rw-r--r--. 1 root root  0 Sep  6 17:24 c
-rw-r--r--. 1 root root  0 Sep  6 17:24 d
-rw-r--r--. 1 root root 45 Sep  6 17:24 eichi.tar.gz

[root@localhost ~]# tar -zxvf eichi.tar.gz  -C /tmp eichi/b
#只解压压缩包中特定的文件,到指定的位置;由于指定了特定的位置,所以要加-C选项
eichi/b
[root@localhost ~]# cd /tmp/eichi
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep  6 17:24 b

6、总结

最常用的是.tar.gz和.tar.bz2格式;结合了打包和压缩;注意对命令的记忆

tar下
	-c	是打包
	-x	是解打包
	-C	指定解打包位置

tar.gz  tar.bz2
	-z	解压缩gz格式
	-j	解压缩bz2格式

结合起来就是
-cvf是打包
-xvf是解打包

-zcvf是压缩、打包tar.gz格式
-jcvf是压缩、打包tar.bz2格式

-zxvf是解压缩、解打包tar.gz格式
-jxvf是解压缩、解打包tar.bz2格式

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值