linux压缩和解压缩笔记

在linux中可以识别的常见压缩格式有挺多,比如 .zip .gz .bz2 .tar .tar.gz .tar.bz2等。

linux 不以文件扩展名识别文件,这些后缀都是为了方便管理员识别的。

1、.zip格式

.zip格式在win中比较常用,linux也可以正确识别,可以方便的和windows系统通用压缩文件。

1.1 .zip格式压缩命令

所在路径:/usr/bin/zip
命令格式

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

选项-r 压缩目录

[root@akun ~]# ls
123  abc  anaconda-ks.cfg  asd  install.log  install.log.syslog  qwe  wsx
[root@akun ~]# zip test.zip abc  wsx	#命令的目标参数是可以多个的
  adding: abc (stored 0%)				#这个文件是空的所以压缩了0%
  adding: wsx (deflated 20%)			#这个文件压缩了20%
[root@akun ~]# ls
123  abc  anaconda-ks.cfg  asd  install.log  install.log.syslog  qwe  test.zip  wsx
#这里就有了test.zip这个文件了,系统中是有颜色的,这里不显示

1.2 .zip格式解压缩

所在路径:/usr/bin/unzip
命令格式

 unzip  [选项]   压缩包名   

选项-d :指定解压缩地址

[root@akun tmp]# unzip d1ik.zip 
Archive:  d1ik.zip
  inflating: wsx                     
   creating: 123/

[root@akun 12]# unzip -d   ./aaa/  2.zip 
Archive:  2.zip
  inflating: ./aaa/abc               
  inflating: ./aaa/qwe               
  inflating: ./aaa/wsx    

2、.gz格式(不打包)

所在路径:/bin/gzip
命令格式

 gzip  [选项]     源文件

选项
-c :将压缩数据输出到标准输出中(输出到屏幕可以看到),可以用于保留源文件
-d :解压缩
-r :压缩目录,这个命令不会打包,-r目录 会把目录下文件分别压缩

[root@akun 12]# ls
qwe
[root@akun 12]# gzip qwe 
[root@akun 12]# ls
qwe.gz
#默认源文件会自动删除
[root@akun 12]# ls
qwe
[root@akun 12]# gzip -c qwe          
??qwe%?
@
 ?~) 
    ??I3,???V1?7?h2?; 
[root@akun 12]# ls
qwe
[root@akun 12]# gzip -c qwe > qwe.gz
#使用-c选项,但不让压缩数据输出到屏幕上,而是重定向到压缩文件中
这样可以在压缩文件的同时不删除源文件

重定向> 表示覆盖,>>表示追加

解压命令:
gunzip 压缩包名
等同于 gzip -d 压缩包名

[root@akun mnt]# gzip 123 abc
[root@akun mnt]# ls
12  123.gz  abc.gz  qwe  wer
[root@akun mnt]# gunzip 123.gz 
[root@akun mnt]# gzip -d abc.gz 
[root@akun mnt]# ls
12  123  abc  qwe  wer

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

.bz2 格式是linux的另一种压缩格式,理论上讲,.bz2算法更先进,压缩比更好,而.gz相对来讲压缩时间更快
.bz2格式的压缩命令是bzip2
所在路径:/usr/bin/bzip2
命令格式

 bzip2  [选项]     源文件

选项
-d :解压缩 (同bunzip2 压缩包名)
-k :压缩时,保留原文件
-v :显示压缩详细信息

[root@akun mnt]# ls
12  123  abc  qwe  wer
[root@akun mnt]# bzip2 abc 
[root@akun mnt]# ls
12  123  abc.bz2  qwe  wer
[root@akun mnt]# bzip2 -k qwe 
[root@akun mnt]# ls
12  123  abc.bz2  qwe  qwe.bz2  wer
[root@akun mnt]# bzip2 -d abc.bz2 
[root@akun mnt]# bunzip2 qwe.bz2 
[root@akun mnt]# ls
12  123  abc qwe wer

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

.tar格式打包和解打包都是使用tar命令,区别只是选项不同。
命令路径:/bin/tar
命令格式

 tar  [选项]    [-f 压缩包名] 源文件或目录

选项
-c :打包
-f :指定压缩包的名称。
-v :显示打包过程
-x :解打包
-t :测试。解打包的时候不解,只是看看包中文件
-C:指定解打包位置

[root@akun ~]# tar -cvf  123.tar 123 		打包
123/
123/qwe/
123/qwe/qwed/
[root@akun ~]# tar -xvf 123.tar        解打包
123/
123/qwe/
123/qwe/qwed/

那如果要打包压缩就要执行两个命令:

[root@akun ~]# tar -cvf  123.tar 123 		打包
123/
123/qwe/
123/qwe/qwed/
[root@akun ~]# gzip 123.tar 		压缩
[root@akun ~]# ls
123.tar.gz 

(解压也是要先解压再解打包)
为了方便,不这样,有.tar.gz和.tar.bz2的格式

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

这种格式是可以一次解压的,就不用想上边那样执行两次命令了
命令格式是一样的
主要解决了gzip ,bzip2命令不能打包的问题
多两个选项用来识别压缩包的格式

选项作用
-z压缩和解压缩.tar.gz格式的压缩包
-j压缩和解压缩.tar.bz2格式的压缩包

以.tar.bz2为例:

[root@akun ~]# tar -jcvf test.tar.bz2 abc 123 qwe     #把文件abc、qwe和目录123压缩为test.tar.bz2文件(这里目标也可以多个)
abc
123/
123/qwe/
123/qwe/qwed/
qwe
[root@akun ~]# tar -jxvf test.tar.bz2 
abc
123/
123/qwe/
123/qwe/qwed/
qwe
#解压

-t选项,测试(只看不解压):
-C选项,指定解压位置(这个选项必须放在压缩包后边)

[root@akun ~]# tar -jtvf test.tar.bz2 
-rw-r--r-- root/root       113 2020-06-15 06:45 abc
drwxr-xr-x root/root         0 2020-05-11 03:34 123/
drwxr-xr-x root/root         0 2020-05-11 03:34 123/qwe/
drwxr-xr-x root/root         0 2020-05-11 03:34 123/qwe/qwed/
-rw-r--r-- root/root        59 2020-06-15 06:41 qwe

[root@akun ~]# tar -jxvf test.tar.bz2 -C /mnt/
abc
123/
123/qwe/
123/qwe/qwed/
qwe
[root@akun ~]# ls /mnt/
123  abc  qwe

如果想解压压缩包中的某个文件,可以在命令后加上这个文件名

[root@akun ~]# tar -jxvf test.tar.bz2 -C /tmp/ abc
abc
[root@akun ~]# ls /tmp/
abc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值