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

文件压缩,解压缩和归档 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

# 1. /etc/fstab 1. Created by anaconda on Mon Apr 13 14:19:18 2015 1. 1. Accessible filesystems, by reference, are maintained under '/dev/disk' 1. See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 1. /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

# 1. /etc/fstab 1. Created by anaconda on Mon Apr 13 14:19:18 2015 1. 1. Accessible filesystems, by reference, are maintained under '/dev/disk' 1. See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 1. /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