linux-压缩类命令
linux-压缩类命令
- 一、压缩方式
- 1. zip
- 2. gzip
- 3. xz
- 4. tar
- 二、归档文件
- 1.创建归档文件
- 2.查看归档文件里的内容
- 3.解压归档文件
- 总结
一、压缩方式
.zip 格式 是Windows了默认的压缩格式,也是linux系统里默认的压缩格式
.rar --》winrar软件的压缩格式
linux支持 .zip .gz .tar.gz .tar.xz
1. zip
只能对文件进行压缩,不能对文件夹进行压缩
[root@hz tar]# zip passwd.zip passwd
adding: passwd (deflated 68%)
[root@hz tar]# ls
passwd passwd.zip
[root@hz tar]# zip boot.zip boot
adding: boot/ (stored 0%)
unzip 解压
[root@hz tar]# unzip passwd.zip
Archive: passwd.zip
replace passwd? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: passwd
2. gzip
直接在原目录上进行压缩,文件的后缀名是.gz
[root@hz tar]# gzip hosts
[root@hz tar]# ls
boot boot.zip hosts.gz passwd passwd.zip
gunzip解压
[root@hz tar]# gunzip hosts.gz
[root@hz tar]# ls
boot boot.zip hosts passwd passwd.zip
查看压缩文件里的内容
[root@hz tar]# zcat hosts.gz
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3. xz
xz的压缩效果比gzip要好,时间要长,gzip压缩的速度要快
unxz
4. tar
可以对文件和文件夹都进行归档和压缩
格式:tar [选项]… 归档文件名 源文件或目录
tar [选项]… 归档文件名 [-C目标目录]
常用命令选项
- -c:创建.tar 格式的包文件 create
- -x:解开.tar格式的包文件 extract
- -v:输出详细信息
- -f:表示使用归档文件 file
- -t:列表查看包内的文件 list
- -C:解包时进入指定的目标文件夹
- -z: 调用gzip程序进行压缩或解压
- -J:调用xz程序进行压缩或解压
- - -exclude 打包的时候将某些文件或者文件夹不包含进来–》排挤出去
[root@hz tar]# tar -cf boot.tar boot
[root@hz tar]# ls
boot boot.tar
[root@hz tar]# du -sh boot.tar
186M boot.tar
[root@hz tar]# du -sh boot
186M boot
[root@hz tar]# tar -czf boot.tar.gz boot
[root@hz tar]# ls
boot boot.tar boot.tar.gz
[root@hz tar]# ll -h
总用量 350M
dr-xr-xr-x. 5 root root 4.0K 5月 26 18:52 boot
-rw-r–r–. 1 root root 186M 5月 26 18:52 boot.tar
-rw-r–r–. 1 root root 165M 5月 26 18:54 boot.tar.gz
[root@hz tar]# tar -cJf boot.tar.xz boot
[root@hz tar]# ls
boot boot.tar boot.tar.gz boot.tar.xz
将多个文件和文件夹打成一个压缩包
[root@hz tar]# tar czf boot_host_passwd.tar.gz /boot /etc/hosts /etc/passwd
tar: 从成员名中删除开头的“/”
tar: 从硬连接目标中删除开头的“/”
[root@hz tar]# ls
boot boot_host_passwd.tar.gz boot.tar boot.tar.gz boot.tar.xz
打包的时候指定路径
使用绝对路径
[root@hz backup2]# tar czf /backup2/log.tar.gz /var/log/
tar: 从成员名中删除开头的“/”
[root@hz backup2]# ls
boot boot_host_passwd.tar.gz log.tar.gz
解压包的时候指定路径
-C 路径
[root@hz backup2]# tar xf log.tar.gz -C /backup3
[root@hz backup2]# ls /backup3
var
去除
[root@hz backup2]# tar --exclude=/boot/{grub,grub2,efi} -czf /backup2/no_grub.boot.tar.gz /boot
二、归档文件
归档:将很多个文件打包成一个文件的过程
归档文件:包含了很多个文件的文件
归档文件 --》压缩 --》压缩的归档文件
1.创建归档文件
-czf --》.tar.gz --》时间短,速度快,效果一般
-cJf --》.tar.xz --》压缩效果好,时间长
[root@hz tar]# tar -czf boot.tar.gz boot
[root@hz tar]# tar -cJf boot.tar.xz boot
2.查看归档文件里的内容
[root@hz tar]# tar -tf boot_host_passwd.tar.gz
3.解压归档文件
[root@hz backup2]# tar -xf boot_host_passwd.tar.gz
[root@hz backup2]# ls
boot boot_host_passwd.tar.gz etc
[root@hz backup2]# ls etc/
hosts passwd
总结
压缩类命令主要用于减小文件体积、打包文件或传输数据。这样占用比较小的磁盘空间,网络传输的时候,可以在最短的时间内传输完