Linux 压缩和解压缩命令

在 Linux 中可以识别的常见压缩格式有十几种,比如:".zip"、".gz"、".bz2"、“tar”、".tar.gz"、".tar.bz2"等等

1、".zip" 格式

".zip" 是 Windows 中最常用的压缩格式,Linux 也可正确识别 ".zip" 格式,这可以方便的和 Windows 系统通用压缩文件。

".zip" 格式压缩命令:

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

[root@hepingfly hepingfly]# zip mytxt.zip abc.txt abd.txt bcd.txt 
  adding: abc.txt (deflated 6%)
  adding: abd.txt (stored 0%)
  adding: bcd.txt (stored 0%)
  
  # 把三个 txt 文件压缩成一个 zip 文件

".zip" 格式解压缩命令:

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

[root@hepingfly hepingfly]# unzip -d /home/hepingfly/abc/ mytxt.zip 
Archive:  mytxt.zip
  inflating: /home/hepingfly/abc/abc.txt  
 extracting: /home/hepingfly/abc/abd.txt  
 extracting: /home/hepingfly/abc/bcd.txt  
 
 # 如果不指定 -d 参数,默认解压到当前目录下

2、".gz" 格式(不能打包)

".gz" 格式压缩命令:

gzip [选项] 源文件
选项:
-c:将压缩数据输出到标准输出中,可以用于保留源文件
-d:解压缩
-r:压缩目录
gzip 压缩文件后会把源文件删除掉,它是不支持保留源文件的

[root@hepingfly hepingfly]# gzip abc.txt 
[root@hepingfly hepingfly]# ll
总用量 12
-rw-rw-r--. 1 hepingfly hepingfly   60 2月  22 01:33 abc.txt.gz
# 压缩完之后源文件也会被删除掉

----------------------------------------------------------------------------
[root@hepingfly hepingfly]# gzip -c bcd.txt > bcd.txt.gz
[root@hepingfly hepingfly]# ll
总用量 16
-rw-------. 1 hepingfly hepingfly    0 2月  21 00:37 bcd.txt
-rw-r--r--. 1 root      root        28 2月  25 00:55 bcd.txt.gz

# 你使用 gzip -c bcd.txt 命令,会把压缩数据输出到屏幕上,现在我不让它输出到屏幕上,而是重定向到一个压缩文件中,这样就实现了在压缩你文件的同时不删除源文件

----------------------------------------------------------------------------
[root@hepingfly hepingfly]# gzip -r aaaa/
[root@hepingfly hepingfly]# ll aaaa/
总用量 8
-rw-r--r--. 1 root root 26 2月  25 01:02 a.txt.gz
-rw-r--r--. 1 root root 26 2月  25 01:02 b.txt.gz
# 你使用 gzip -r 命令,它是把这个目录下的所有文件都压缩,而不会把这个目录压缩(不能打包)

".gz" 格式解压缩命令:

gzip -d 压缩包名
gunzip 压缩包名
上面两个命令都可以

3、".bz2 格式(不能压缩目录)"

".bz2" 格式,是 Linux 的另一种压缩格式,从理论上来讲,".bz2" 格式的算法更先进、压缩比更好;而 ".gz" 格式相对来讲压缩时间更快

".bz2" 格式压缩命令:

bzip2 [选项] 源文件
选项:
-d:解压缩
-k:压缩时保留源文件
-v:显示压缩的详细信息

[root@hepingfly hepingfly]# bzip2 -k bcd.txt 
[root@hepingfly hepingfly]# ll
总用量 20
-rw-------. 1 hepingfly hepingfly    0 2月  21 00:37 bcd.txt
-rw-------. 1 hepingfly hepingfly   14 2月  21 00:37 bcd.txt.bz2

# 保留源文件压缩
注:这条命令不能压缩目录,压缩目录就会报错。前面的 gzip 命令是不能打包,
你用 gzip 命令压缩目录,它会把你目录下的文件进行压缩,不会把你这个目录进行压缩

".bz2" 格式解压缩命令:

bzip2 -d 压缩包
bunzip2 压缩包
上面两个命令都可以

4、".tar " 格式(打包不会压缩)

".tar" 格式的打包和解打包都使用 tar 命令,区别只是选项不同。

".tar" 格式打包命令:

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

[root@hepingfly hepingfly]# tar -cvf test.tar abd.txt bcd.txt 
abd.txt
bcd.txt

".tar" 格式解打包命令:

tar [选项] 压缩包
选项:
-x:解打包
-f:指定压缩包的文件名
-v:显示解打包文件过程

[root@hepingfly hepingfly]# tar -xvf test.tar 
abd.txt
bcd.txt

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

使用 tar 命令直接打包压缩

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

# 压缩
[root@hepingfly hepingfly]# tar -jcvf test.gz.bz2 abd.txt bcd.txt 
abd.txt
bcd.txt
[root@hepingfly hepingfly]# ll
总用量 24
-rw-r--r--. 1 root      root        160 2月  25 23:11 test.gz.bz2
---------------------------------------------------------------
# 解压缩
[root@hepingfly hepingfly]# tar -jxvf test.gz.bz2 
abd.txt
bcd.txt
----------------------------------------------------------------
# 压缩
[root@hepingfly hepingfly]# tar -zcvf test.tar.gz abd.txt bcd.txt 
abd.txt
bcd.txt
[root@hepingfly hepingfly]# ll
总用量 12
-rw-r--r--. 1 root      root         0 2月  22 02:09 abd.txt
-rw-------. 1 hepingfly hepingfly    0 2月  21 00:37 bcd.txt
-rw-r--r--. 1 root      root       154 2月  25 23:14 test.tar.gz
----------------------------------------------------------------
# 解压缩
[root@hepingfly hepingfly]# tar -zxvf test.tar.gz 
abd.txt
bcd.txt

--------------------------------------------------------------
# 只查看不解压
[root@hepingfly hepingfly]# tar -ztvf test.tar.gz 
-rw-r--r-- root/root         0 2019-02-22 02:09 abd.txt
-rw------- hepingfly/hepingfly 0 2019-02-21 00:37 bcd.txt

--------------------------------------------------------------
# 解压到指定目录(-C 一定要跟在压缩包后面)
[root@hepingfly hepingfly]# tar -zxvf test.tar.gz -C aaaa/
abd.txt
bcd.txt

--------------------------------------------------------------
# 解压指定文件
[root@hepingfly hepingfly]# tar -ztvf test.tar.gz         # 我先查看这个压缩包里面有哪些文件
-rw-r--r-- root/root         0 2019-02-22 02:09 abd.txt
-rw------- hepingfly/hepingfly 0 2019-02-21 00:37 bcd.txt
[root@hepingfly hepingfly]# tar -zxvf test.tar.gz -C aaaa/ abd.txt 
abd.txt
# 我只把 abd.txt 文件解压到 aaaa 目录下
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zh&&Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值