gzip,bzip2,xz,tar文件压缩,解压缩和归档

2023年 7月 16日 48.2k 0

文件压缩,解压缩和归档
gzip/gunzip .gz
bzip2/bunzip2 .b
xz/unxz .xz

1,gzip
-# :指明压缩比:1-9,默认级别6,数字越大,压缩比最大
-d :解压缩,相当于gunzip;
-c :将压缩后的数据输出至标准输出;
gzip -c /path/to/somefile > / /path/to/somefile.gz
-r :递归至目录中对每个文件进行压缩;
zcat:查看压缩包内容

gzip示例:
[root@centos3 tmp]# gzip fstab
[root@centos3 tmp]# ll
total 16
-rw-r--r-- 1 root root 369 Apr 13 20:25 fstab.gz
-rwx------. 1 root root 1195 Apr 13 14:55 ks-script-HlW_Fm
-rwxr-xr-x. 1 root root 346 Apr 13 14:55 ks-script-HlW_Fm.log
drwxr-xr-x 2 root root 4096 Apr 13 16:22 shellfile
-rw-------. 1 root root 0 Apr 13 14:18 yum.log
[root@centos3 tmp]# gunzip fstab.gz
[root@centos3 tmp]# ll
total 16
-rw-r--r-- 1 root root 921 Apr 13 20:25 fstab
-rwx------. 1 root root 1195 Apr 13 14:55 ks-script-HlW_Fm
-rwxr-xr-x. 1 root root 346 Apr 13 14:55 ks-script-HlW_Fm.log
drwxr-xr-x 2 root root 4096 Apr 13 16:22 shellfile
-rw-------. 1 root root 0 Apr 13 14:18 yum.log
[root@centos3 tmp]# zcat fstab.gz

#
# /etc/fstab
# Created by anaconda on Mon Apr 13 14:19:18 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg0-root / ext4 defaults 1 1
UUID=90679dfa-480a-47fd-be39-e243d7a73a78 /boot ext4 defaults 1 2
/dev/mapper/vg0-usr /usr ext4 defaults 1 2
/dev/mapper/vg0-var /var ext4 defaults 1 2
/dev/mapper/vg0-swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
[root@centos3 tmp]#

2,bzip2/bunzip2
-# :指明压缩比:1-9,默认级别6,数字越大,压缩比最大
-d :解压缩,相当于gunzip;
-k :压缩后保留原文件
bzcat:查看压缩包内容

bzip2示例:
[root@centos3 tmp]# gunzip -d fstab.gz
[root@centos3 tmp]# ls
fstab ks-script-HlW_Fm ks-script-HlW_Fm.log shellfile yum.log
[root@centos3 tmp]# bzip2 -k fstab
[root@centos3 tmp]# ls
fstab ks-script-HlW_Fm shellfile
fstab.bz2 ks-script-HlW_Fm.log yum.log
[root@centos3 tmp]# bzcat fstab.bz2

#
# /etc/fstab
# Created by anaconda on Mon Apr 13 14:19:18 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg0-root / ext4 defaults 1 1
UUID=90679dfa-480a-47fd-be39-e243d7a73a78 /boot ext4 defaults 1 2
/dev/mapper/vg0-usr /usr ext4 defaults 1 2
/dev/mapper/vg0-var /var ext4 defaults 1 2
/dev/mapper/vg0-swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
[root@centos3 tmp]#
3,xz/unxz
-# :指明压缩比:1-9,默认级别6,数字越大,压缩比最大
-d :解压缩,相当于gunzip;
-k :压缩后保留原文件
xzcat:查看压缩包内容
[root@centos3 tmp]# xz -k fstab
[root@centos3 tmp]# ls
fstab fstab.xz ks-script-HlW_Fm shellfile
fstab.bz2 fstab.zip ks-script-HlW_Fm.log yum.log
[root@centos3 tmp]#
xz同上!

4,zip/unzip
压缩用法:zip file.zip /路径/压缩多个文件 最终全部压缩到file.zip中
解压缩:unzip file.zip
zip示例:
root@centos3 tmp]# zip -k fstab yum.log ks-script-HlW_Fm.log
adding: YUM.LOG (stored 0%)
adding: KS-SCRIP.LOG (deflated 62%)
[root@centos3 tmp]# ls
fstab fstab.xz ks-script-HlW_Fm shellfile
fstab.bz2 fstab.zip ks-script-HlW_Fm.log yum.log
5,归档工具
将多个文件合并为单个文件以便于管理:默认不会执行压缩
tar,cpio
归档:tar file.tar -c -f /路径/file

[root@centos3 tmp]# tar -c -f mytar.tar yum.log shellfile
[root@centos3 tmp]# ls
fstab fstab.xz ks-script-HlW_Fm mytar.tar yum.log
fstab.bz2 fstab.zip ks-script-HlW_Fm.log shellfile
[root@centos3 tmp]# ll -lh
total 40K
-rw-r--r-- 1 root root 921 Apr 13 20:25 fstab
-rw-r--r-- 1 root root 411 Apr 13 20:25 fstab.bz2
-rw-r--r-- 1 root root 420 Apr 13 20:25 fstab.xz
-rw-r--r-- 1 root root 1012 Apr 13 20:35 fstab.zip
-rwx------. 1 root root 1.2K Apr 13 14:55 ks-script-HlW_Fm
-rwxr-xr-x. 1 root root 346 Apr 13 14:55 ks-script-HlW_Fm.log
-rw-r--r-- 1 root root 10K Apr 13 21:09 mytar.tar
drwxr-xr-x 2 root root 4.0K Apr 13 16:22 shellfile
-rw-------. 1 root root 0 Apr 13 14:18 yum.log
[root@centos3 tmp]#

注意:归档不会删除源文件
展开归档:tar -x -f /展开归档的文件.tar 【-C /指定路径】
[root@centos3 tmp]# tar -x -f mytar.tar -C /tmp/
查看归档后的文件列表(非内容):tar -t -f /file.tar
[root@centos3 tmp]# tar -t -f mytar.tar
yum.log
shellfile/
shellfile/172.16.250.sh
shellfile/2015-4-13-1.sh
shellfile/2015-4-13-2.sh
[root@centos3 tmp]#

注意:
(1)多个选项可以合并,但-f由于要带参数,因此,应该放在最右侧
-tf,-xf,-cf
(2)选项的引导符-可省略
tar xf,tar zf

6,归档和压缩
-z:gzip
后缀名:.tar.gz
归档并压缩:tar -zcf
展开列表:tar -zxf
[root@centos3 tmp]# gzip mytar.tar
[root@centos3 tmp]# ls
fstab fstab.xz ks-script-HlW_Fm mytar.tar.gz yum.log
fstab.bz2 fstab.zip ks-script-HlW_Fm.log shellfile
[root@centos3 tmp]#
[root@centos3 tmp]# tar -zcf /tmp/mytmp.tar.gz /tmp/*
tar: Removing leading `/' from member names
[root@centos3 tmp]# ls
fstab fstab.xz ks-script-HlW_Fm mytar.tar.gz shellfile
fstab.bz2 fstab.zip ks-script-HlW_Fm.log mytmp.tar.gz yum.log
[root@centos3 tmp]#

-j:bzip2
后缀名:.tar.bz2
归档并压缩:tar -jcf
展开归档:tar -jxf
-j:xz
后缀名:.tar.xz
归档并压缩:tar -jcf
展开归档:tar -jxf

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论