Linux - 压缩文件命令 zip,gzip,xz,tar

压缩文件相关

1.windows里面有哪些压缩软件,压缩文件的格式有哪些?

软件:winrar,好压,bandzip

zip rar

2.为什么要压缩?

1.压缩是方便我们备份的,--》需要占用磁盘空间,压缩后文件占用空间小。

2.qq传输文件不支持文件夹传输,但是可以传输文件。

3.压缩文件小,在网络上传输快。

游戏服务器,网站服务器,都需要备份--》压缩可以更加少的占用空间,更加快的传输,

优势:备份需要,占用空间小,传输快,方便保存。

3.windows里面的压缩文件传到linux是否可以解压?

.rar 传递到linux里,默认不能解压,因为linux不支持.rar的压缩格式

默认没有安装linux版本的winrar

linux下默认支持.zip格式的压缩文件

linux还支持.tar .gz .tar.bz2 .tar .xz .zip

4.linux里面的压缩文件传到windows里是否可以解压?

windows里的winrar可以解压linux里面男的所有压缩格式的文件

5.如何在windows和linux之间传递文件

xshell --》 windows远程连接到linux里的工具,控制linux的。

xftp--》windows和linux之间传递文件的。

1.使用xftp

----------------------------------------------------------------------------------------------------------------------------------------- 

zip命令

zip在centos7最小化安装没有,需要我们自己安装

同时安装压缩和解压工具

[root@localhost /]# yum install zip unzip -y

zip是windows和linux里面都支持的压缩格式。

压缩文件

格式:

        zip 打包文件名   源文件名

例:用zip压缩压缩一个hello文件

[root@localhost zip]# zip hello.zip hello
  adding: hello (stored 0%)
[root@localhost zip]# ls
hello  hello.zip
[root@localhost zip]# 

解压文件

解压后的文件默认放在当前路径下面。

格式

        unzip 压缩包文件

[root@localhost zip]# unzip hello.zip 
Archive:  hello.zip
 extracting: hello                   
[root@localhost zip]# ls
hello  hello.zip

查看.zip格式的压缩包文件内容

直接用cat 命令查看会报错

如:可能会产生乱码问题

[root@localhost zip]# cat hello.zip
PT5TNu¬
       	hello.txtUT	韜頵x
                             342615ᲄPPT5TNu¬
                                            	¤hello.txtUT頵x
                                                               PKON[root@localhost zip]# lshello.txt  hello.zip

可以使用zcat命令来查看压缩文件内容

[root@localhost zip]# zcat hello.zip
123456
123456
[root@localhost zip]# 

----------------------------------------------------------------------------------------------------------------------------------------- 

gzip命令

gzip是linux系统里面的压缩格式,系统默认安装好了的

只能给文件压缩,不能压缩文件夹,而且直接在文件上进行操作,后缀名为.gz

格式:
        gzip   要压缩打包的文件名

        gunzip  要解压的文件名

gzip会自动在生成一个.gz的压缩包。

压缩文件

格式:

             gzip   要压缩打包的文件名

例:

用gzip将hello.txt文件压缩成.gz格式

[root@localhost zip]# gzip hello.txt
[root@localhost zip]# ls
hello.txt.gz

解压文件

解压后的文件默认放在当前路径下面。

格式

          gunzip  要解压的文件名

例:将hello.txt.gz文件解压

[root@localhost zip]# gunzip hello.txt.gz 
[root@localhost zip]# ls
hello.txt

 查看压缩文件内容

使用zcat

[root@localhost zip]# zcat hello.txt.gz 
123456
123456

----------------------------------------------------------------------------------------------------------------------------------------- 

bzip2命令

已经淘汰了,

使用bzip2压缩的文件名后缀名为 .bz2

------------------------------------------------------------------------------------------------------------------------------------------

xz命令

xz也是linux里的压缩格式,默认安装

只能对文件进行操作,不能对文件夹进行操作

压缩后的文件名后缀为.xz

压缩文件

例:压缩passwd文件

[root@localhost wangss]# xz passwd 
[root@localhost wangss]# ls
passwd.xz  wangss.txt

解压文件

解压后的文件默认会放在当前路径下面。

例:解压passwd.xz文件

[root@localhost wangss]# unxz passwd.xz 
[root@localhost wangss]# ls
passwd  wangss.txt

查看压缩文件内容 

 使用xzcat命令

例:使用xzcat命令查看hello.txt.xz文件的内容

[root@localhost zip]# xzcat hello.txt.xz 
123456
123456

 -----------------------------------------------------------------------------------------------------------------------------------------

time 命令  xz和gzip的比较

time命令是用来查看命令执行所需要的时间

xz和gzip的比较:

        xz与gzip相比,xz的压缩效果更好,但是压缩时间也更长

 

------------------------------------------------------------------------------------------------------------------------------------------

tar命令 

用途:制作归档文件,释放归档文件

格式:tar[选项]...归档文件名字,源文件或目录

tar[选项]...归档文件名字,[-C 目标文件]

作用:

1.可以吧很多文件做成一个压缩包文件

使用tar命令打包的几种压缩包格式
.tar.gz

.tar.xz

.tar

linux系统内核网站:kernel.org

内核网站使用的就是tarball ,使用tar命令压缩打包的文件

Archive : 档案,归档。

tarball :使用tar命令打的压缩包。

归档文件:tar命令打包的文件称呼为tarball,也叫归档文件。 

归档,可以理解为把很多东西放到一个文件里面,这个过程叫做归档,那个文件叫做归档文件。

 -----------------------------------------------------------------------------------------------------------------------------------------

tar命令选项

-c : 创建.tar格式的包文件 create

-x :解开.tar格式的包文件

-v : 输出详细信息 verbose

-f :表示使用归档文件 file

-t : 列表查看保内的问阿金

-z:调用gzip对归档文件进行压缩

-J:调用xz对归档文件进行压缩

-t:查看归档文件里面的内容 list

常用的选项组合:

czvf:(打包成.gz结尾的文件)

例子:

1.将系统里面的/etc/passwd /var/log/messages /etc/hosts 这三个文件打包到/lianxi目录下叫pwd_ms_hosts.tar.gz 

tar czvf /lianxi/pwd_ms_hosts.tar.gz /etc/passwd /var/log/messages /etc/hosts

前面是生成的tarball压缩文件(目的文件), 后面的是要打包的文件(源文件) 

 

 cJvf:(打包成以.xz结尾的文件)

例子:

2.将/boot 目录复制到/lianxi目录下,然后/lianxi目录下打包成一个boot.tar.xz的文件

   tar czvf /lianxi/tar/boot.tar.gz /boot

如果再敲一遍的话它会将原来的压缩文件覆盖

压缩的过程是需要时间的,不能立马完成。不要着急

xz比gzip的压缩效果好,但是压缩时间长一点,linux内核网站kernel.org就是用的xz 来压缩的

-v选项的作用就是可以看到整个压缩的过程

 解压tarball --》xf

解压tarball使用  tar xf

tar xf boot.tar.gz
tar xf boot.tar.xz

查看tarball里面的文件 --》 tf

tar tf boot.tar.gz

指定路径问题 --> -C选项


1.解压的时候  --》 解压缩时候默认解压到当前目录,使用-C选项指定路径

将boot_pw_log.tar.xz解压到/bak。

将boot_pw_log.tar.xz解压到/bak。

[root@localhost tar]# tar xf boot_pw_log.tar.xz -C /bak


将boot_pw_log.tar.xz解压到当前。

[root@localhost tar]# tar xf boot_pw_log.tar.xz 


2.生成压缩包的时候 --》使用绝对路径。

[root@localhost tar]# tar czvf /lianxi/tar/boot.tar.gz /boot


将/boot目录打包到/lianxi/tar/boot.tar.gz压缩包

常见提醒

[root@localhost tar]# tar czvf /lianxi/tar/boot.tar.gz /boot

tar: 从成员名中删除开头的“/”

## 这是正常的提示,因为备份文件的时候使用相对路径比较好,因为后面解压缩的时候会解压缩到当前,tar命令防止解压的时候会替换原来的文件,所以在打包压缩的时候,会自动去掉绝对路径前面的 / 

排除和包含

include:包含

exclude:排除

例子:将/boot目录下面的除了grub2目录以外的所有文件都备份到/bak目录下面叫no_grub2.tar.gz 

 tar  czf  /bak/no_grub2.tar.gz  --exclude=/boot/grub2  /boot

可以看到,打包后的文件里面的确没有grub2文件

[root@localhost bak]# tar tf no_grub2.tar.gz 
boot/
boot/efi/
boot/efi/EFI/
boot/efi/EFI/centos/
boot/grub/
boot/grub/splash.xpm.gz
boot/.vmlinuz-3.10.0-1160.el7.x86_64.hmac
boot/System.map-3.10.0-1160.el7.x86_64
boot/config-3.10.0-1160.el7.x86_64
boot/symvers-3.10.0-1160.el7.x86_64.gz
boot/vmlinuz-3.10.0-1160.el7.x86_64
boot/initramfs-0-rescue-2d27a63a399e43a496b39fe36e2da031.img
boot/vmlinuz-0-rescue-2d27a63a399e43a496b39fe36e2da031
boot/initramfs-3.10.0-1160.el7.x86_64.img
[root@localhost bak]# 

同时排除多个文件,将多个文件用{}括起来

tar czf /bak/no_4.tar.gz --exclude=/boot/{grub2,efi,loader} /boot

[root@localhost bak]# tar czf /bak/no_4.tar.gz --exclude=/boot/{grub2,efi,loader} /boot
tar: 从成员名中删除开头的“/”
[root@localhost bak]# ls
no_4.tar.gz  no_grub2.tar.gz
[root@localhost bak]# tar tf no_4.tar.gz 
boot/
boot/grub/
boot/grub/splash.xpm.gz
boot/.vmlinuz-3.10.0-1160.el7.x86_64.hmac
boot/System.map-3.10.0-1160.el7.x86_64
boot/config-3.10.0-1160.el7.x86_64
boot/symvers-3.10.0-1160.el7.x86_64.gz
boot/vmlinuz-3.10.0-1160.el7.x86_64
boot/initramfs-0-rescue-2d27a63a399e43a496b39fe36e2da031.img
boot/vmlinuz-0-rescue-2d27a63a399e43a496b39fe36e2da031
boot/initramfs-3.10.0-1160.el7.x86_64.img
[root@localhost bak]# 

------------------------------------------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值