压缩文件相关
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]#
------------------------------------------------------------------------------------------------------------------------------------------