linux系统常见的压缩命令

常见的压缩文件扩展名:

*.z                compress程序压缩的文件

*.gz              gzip程序压缩的文件

*.bz2            bzip2程序压缩的文件

*.tar              tar程序打包的文件,并没有压缩过

*.tar.gz         tar程序打包的文件,其中经过gzip的压缩

*.tar.bz2        tar程序打包的文件,其中经过bzip2的压缩


一、Compress

    compress这个压缩命令是非常老旧的一款,除非在非常旧的Unix机器上作业,否则可以不学习这个压缩命令。新版的linux基本是没有装这个软件的,要使用必须得先安装 “sudo apt install ncompress” 安装命令。

命令格式:

压缩的命令格式:    compress    [参数]    文件或目录

解压缩的命令格式:    uncompress  文件.Z

参数:

-r:可以连同目录下的文件也同时给予压缩

-c:将压缩数据输出成为 standard output(输出到屏幕)

-v:可以显示出压缩后的文件信息及压缩过程中的一些文件名变化

范例一:将 /etc/man.config 复制到 /tmp ,并进行压缩

[root@www ~]# cd /tmp

[root@www tmp]# cp /etc/man.config .

[root@www tmp]# compress -v man.config

#此处会显示压缩的百分比

[root@www tmp]# ll /etc/man.config man.*

#此处将压缩后的文件和原文件进行比较

然后你发现一个问题,复制到/tmp 的man.config 不见了,因为被压缩成为 man.config.Z。也就是说,在默认情况下,被compress压缩的源文件会不见,而压缩文件会被创建起来,而且扩展名会是 *.Z。

范例二:将刚才的压缩文件解压缩

[root@www tmp]# uncompress man.config.Z

[root@www tmp]# ll man.*

#此处会显示从/etc 下复制过来的man.config原文件。

强调,compress很少人用了,因为这个程序无法解开 *.gz 的文件。

二、gzip,zcat

gzip可以说是应用最广的压缩命令了。目前gzip可以解开compress、zip、gzip等软件所压缩的文件。

命令语法:

gzip    [参数]    文件名

zcat    文件名.gz                #读取压缩文件的内容

参数:

-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理;

-d:解压缩的参数

-t:可以用来检验一个压缩文件的一致性,看看文件有无错误

-v:可以显示出源文件/压缩文件比等信息

-#:压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好默认是 -6。

范例一:将/etc/man.config 复制到/tmp中,并且以gzip压缩

[root@www ~]# cd /tmp

[root@www tmp]# cp /etc/man.config .

[root@www tmp]# gzip -v man.config

#压缩比内容省略

[root@www tmp]# ll /etc/tmp man.*

#复制文件,原文件,压缩文件的比较,注意,这里的被压缩的文件不会消失

#gizp压缩的文件字windows系统中,可被WinRAR这个软件解压缩。

三、bzip2,bzcat

bzip2是为了取代gzip并且提供更佳的压缩比而来的。bzip2真是不错的东西,这玩意的压缩比 竟然比gzip还要好。用法bzip2和gzip差不多

bzip2    [参数]     文件名

bzcat    文件名.bz2

参数:

-c:将压缩过程中产生的数据输出到屏幕上;

-d:解压缩的参数;

-k:保留原文件,不会删除原始文件;

-z:压缩参数

-v:显示压缩比等信息

-#:压缩比参数

范例一:将刚才的 /tmp/man.config 以bzip压缩

[root@www tmp]# bzip2 -z man.config

[root@www tmp]# ll man.*

#此时查看到文件夹下只有一个man.config.bz2文件,原复制文件会消失,使用-k参数就不会,可自行体验

[root@www tmp]# bzcat man.config.bz2

#读取压缩文件的内容

[root@www tmp]# bzip2 -d man.config.bz2

#解压缩

四、tar

前面讲的命令大多只能够对单个文件进行压缩,gzip和 bzip2虽然能对目录进行压缩,不过他们是将目录里的所有文件“分别”进行压缩的操作。而不能将好多数据压缩成一个文件。

tar命令就可以将多个目录或文件打包成一个大文件,同时还可以通过gzip和bzip2的支持,将该文件同时进行压缩。

命令格式:

tar    [-j][-z] [cv] [-f 新建文件名] filename . . . #打包与压缩

tar    [-j][-z] [tv] [-f 新建的文件名]                    #查看文件名

tar    [-j][-z] [xv] [-f 新建的文件名] [-C 目录]        #解压缩

参数:tar参数较多,只列出部分常用的,更多参数可自行man tar查询

-c:新建打包文件,可搭配-v 来查看过程中被打包的文件名。

-t:查看打包文件的内容含有哪些文件名,重点在查看文件名

-x:解打包或解压缩的功能, 可以搭配-C 在特定目录解开。

    特别留意-c、-t、-x不能同时出现在一串命令行中

-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为  *.tar.bz2

-z:通过gzip的支持进行压缩 / 解压缩,此时文件名最好是 *.tar.gz

-v:在压缩/解压缩过程中,将正在处理的文件名显示出来;

-f  filename:-f 后面接被处理的文件名,

-C  目录:这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数。

-p:保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件

范例一:备份/etc 目录

[root@www ~]# tar -zpcv  -f /root/etc.tar.gz /etc

[root@www ~]# tar -jpcv -f /root/etc.tar.bz2 /etc

[root@www ~]# ll /root/etc*

-rw-r--r-- 1 root root 8740252 Nov 15 23:07 /root/etc.tar.bz2

-rw-r--r-- 1 root root 13020999 Nov 15 23:01 /root/etc.tar.gz

[root@www ~]# du -sm /etc        #查看etc目录占用的容量

118       /etc

范例二:解压缩

[root@www ~]# tar -jxv -f /root/etc.tar.bz2            #解压到当前文件夹

[root@www ~]# tar -jxv -f /root/etc.tar.bz2 -C /tmp        #解压到/tmp 文件夹下


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值