标签:linux centos 7 中打包压缩工具gzip、bzip2、xz、zip、tar
windows .rar .zip .7z linux: .rar .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz
gzip 只能压缩文件不能压缩目录.**gzip 1.txt 压缩完成原文件删除**生成1.txt文件: find /etc/ -type f -name "*.conf" -exec cat {} >> /tmp/fxq/1.txt \;
# ls -lh /tmp/fxq/1.txt -rw-r--r-- 1 root root 2.3M Aug 23 22:01 /tmp/fxq/1.txt
# gzip /tmp/fxq/1.txt# ls -lhtotal 620K -rw-r--r-- 1 root root 610K Aug 23 22:01 1.txt.gz
unzip 1.txt.gzgzip -d 1.txt.gz
# gzip -d 1.txt.gz # ll -htotal 2.3M -rw-r--r-- 1 root root 2.3M Aug 23 22:01 1.txt
默认是6级别# gzip -9 1.txt
# zcat 1.txt.gz
# gzip -c 1.txt > /tmp/1.txt.gz
# gzip -d -c /tmp/1.txt.gz > /tmp/2.txt.gz
# gunzip -d -c /tmp/2.txt.gz > /tmp/fxq/3.txt
bzip2 比gzip 压缩能力更强
# ll -hltotal 292K -rw-r--r-- 1 root root 281K Aug 23 22:01 1.txt.bz2
# bzip2 1.txt
# bzip2 -c 1.txt > /tmp/1.txt.bz2
# bunzip2 -d -c /tmp/1.txt.bz2 > 3.txt
# bzip2 -9 1.txt默认压缩级别9.
# bzcat 1.txt.bz2 # file 2.txt 查看文件类型。
xz压缩能力比gzip和bzip2都要强。使用方法基本上和gzip一样.
# xz 1.txt
# xz -9 1.txt默认压缩级别9.
# xz -d 2.txt.xz
# unxz 2.txt.xz
3&nbsx;8z -c 2.txt /tmp/2.txt.xz
# xzcat 1.txt.xz
zip 1.txt.zip 1.txtzip -r selinux.zip selinux/
[root@0 fxq]# ls1.txt selinux selinux.zip [root@0 fxq]# zip 1.txt.zip 1.txt adding: 1.txt (stored 0%) [root@0 fxq]# ls1.txt 1.txt.zip selinux selinux.zip [root@0 fxq]#
[root@0 fxq]# lsselinux [root@0 fxq]# zip selinux.zip selinux/ adding: selinux/ (stored 0%) [root@0 fxq]# lsselinux selinux.zip
unzip dir.zip
[root@0 fxq]# lsselinux [root@0 fxq]# zip selinux.zip selinux/ adding: selinux/ (stored 0%) [root@0 fxq]# lsselinux selinux.zip [root@0 fxq]# rm -rf selinux[root@0 fxq]# lsselinux.zip [root@0 fxq]# unzip selinux.zip Archive: selinux.zip creating: selinux/ [root@0 fxq]# lsselinux selinux.zip [root@0 fxq]#
unzip dir.zip -d /root/
unzip -l dir.zip
tar打包工具:
# tar -cvf selinux.tar selinux
# tar -xvf selinux.tar
# tar -tf selinux.tar
# tar -cvf all.tar --exclude semanage.conf.bak selinux/
[root@0 fxq]# tree selinuxselinux |-- semanage.conf.bak `-- targeted `-- setrans.conf.bak1 directory, 2 files [root@0 fxq]# [root@0 fxq]# tar -cvf all.tar --exclude semanage.conf.bak selinuxselinux/ selinux/targeted/ selinux/targeted/setrans.conf.bak [root@0 fxq]# ls1.txt.bz2.xz all.tar selinux selinux.zip [root@0 fxq]# tar -tf all.tar selinux/ selinux/targeted/ selinux/targeted/setrans.conf.bak [root@0 fxq]#
# tar -czvf selinux.tar.gz selinux
[root@0 fxq]# ls1.txt.bz2.xz all.tar selinux selinux.zip[root@0 fxq]# tar -czvf selinux.tar.gz selinuxselinux/selinux/semanage.conf.bakselinux/targeted/selinux/targeted/setrans.conf.bak[root@0 fxq]# ls1.txt.bz2.xz all.tar selinux selinux.tar.gz selinux.zip
# tar -cjvf selinux.tar.bz2 selinux[root@0 fxq]# tar -cjvf selinux.tar.bz2 selinuxselinux/selinux/semanage.conf.bakselinux/targeted/selinux/targeted/setrans.conf.bakYou have new mail in /var/spool/mail/root [root@0 fxq]# ls1.txt.bz2.xz selinux selinux.tar.gzall.tar selinux.tar.bz2 selinux.zip
# tar -cJvf selinux.tar.xz selinux
[root@0 fxq]# tar -cJvf selinux.tar.xz selinuxselinux/ selinux/semanage.conf.bak selinux/targeted/ selinux/targeted/setrans.conf.bak [root@0 fxq]# ls 1.txt.bz2.xz selinux selinux.tar.gz selinux.zip all.tar selinux.tar.bz2 selinux.tar.xz [root@0 fxq]# lltotal 316-rw-r--r-- 1 root root 285092 Aug 23 22:01 1.txt.bz2.xz -rw-r--r-- 1 root root 10240 Aug 24 22:55 all.tar drwxr-xr-x 3 root root 4096 Aug 14 21:43 selinux -rw-r--r-- 1 root root 1736 Aug 24 23:01 selinux.tar.bz2 -rw-r--r-- 1 root root 1689 Aug 24 23:00 selinux.tar.gz -rw-r--r-- 1 root root 1728 Aug 24 23:01 selinux.tar.xz -rw-r--r-- 1 root root 166 Aug 24 22:35 selinux.zip
# tar -tf selinux.tar.xz
[root@0 fxq]# tar -tf selinux.tar.xzselinux/selinux/semanage.conf.bakselinux/targeted/selinux/targeted/setrans.conf.bak[root@0 fxq]#
1. gzip, bzip2 能否直接压缩目录呢 2. 请快速写出使用gzip和bzip2压缩和解压一个文件的命令。 3. tar 在打包的时候如果想排除多个文件或者目录如何操作 4. 请实验如果不加 "-" 是否正确 如 tar zcvf 1.tar.gz 1.txt 2.txt ? 5. 如何使用tar打包和解包 .tar.gz, .tar.bz2 的压缩包 6. 找一个大点的文件使用tar 分别把这个文件打成 .tar.gz和.tar.bz2 压缩包比较一下哪个包会更小从而得出结论是gzip压缩效果好还是bzip2压缩效果好 7. 使用tar打包并压缩的时候默认压缩级别为几 想一想如何能够改变压缩级别呢提示tar本身没有这个功能哦可以尝试拆分打包和压缩
1.不能 2.gzip 1.txt.gz 1.txt ungzip 1.txt.gz gzip -c 1.txt.gz bzip2 1.txt.bz2 1.txt bunzip2 1.txt.bz23.tar -czvf all.tar.gz --exclude 1.txt --exclude 2.txt ./* 4.可以不加- 5.tar -zcvf all.tar.gz all/ tar -zxvf all.tar.gz tar -jcvf all.tar.bz2 all/ tar -jxvf all.tar.bz2 6.bz2比gz压缩强: [root@0 fxq]# ll total 2316 -rw-r--r-- 1 root root 2362256 Aug 24 23:29 1.txt drwxr-xr-x 2 root root 4096 Aug 14 21:43 selinux [root@0 fxq]# tar -zcvf 1.txt.tar.gz 1.txt 1.txt [root@0 fxq]# tar -jcvf 1.txt.tar.bz2 1.txt 1.txt [root@0 fxq]# ll total 3220 -rw-r--r-- 1 root root 2362256 Aug 24 23:29 1.txt -rw-r--r-- 1 root root 288262 Aug 24 23:30 1.txt.tar.bz2 -rw-r--r-- 1 root root 624127 Aug 24 23:29 1.txt.tar.gz drwxr-xr-x 2 root root 4096 Aug 14 21:43 selinux [root@0 fxq]# 7. 习题答案 1. gzip, bzip2 能否直接压缩目录呢 不能直接压缩目录 2. 请快速写出使用gzip和bzip2压缩和解压一个文件的命令。 gzip 1.txt gzip -d 1.txt.gz bzip2 1.txt bzip2 -d 1.txt.bz2 3. tar 在打包的时候如果想排除多个文件或者目录如何操作 tar cvf 123.tar --exclude a.txt --exclude b.txt 123/ 4. 请实验如果不加 "-" 是否正确 如 tar zcvf 1.tar.gz 1.txt 2.txt ? 不加 - 一样没有问题 5. 如何使用tar打包和解包 .tar.gz, .tar.bz2 的压缩包 tar zcvf 1.tar.gz 1 tar zxvf 1.tar.gz tar jcvf 1.tar.bz2 1 tar jxvf 1.tar.bz2 6. 找一个大点的文件使用tar 分别把这个文件打成 .tar.gz和.tar.bz2 压缩包比较一下哪个包会更小从而得出结论是gzip压缩效果好还是bzip2压缩效果好 理论上.tar.bz2的压缩包小一些但个别时候有相反的情况。但大多时候bzip2压缩效果好。 7. 使用tar打包并压缩的时候默认压缩级别为几 想一想如何能够改变压缩级别呢提示tar本身没有这个功能哦可以尝试拆分打包和压缩 tar打包压缩时是按照gzip和bzip2的默认压缩级别来的gzip工具默认压缩级别为6bzip2默认压缩级别为9. 改变默认压缩级别可以这样来做首先tar打包然后再使用gzip或者bzip2压缩工具来压缩压缩的时候指定压缩级别。如 tar cvf 1.tar 123/; gzip -2 1.tar
实现不同机器间传输文件自动打包解包。
[root@fxq-0 ~]# mkdir test{1..10} [root@fxq-0 ~]# ls anaconda-ks.cfg test1 test2 test4 test6 test8 test0 test10 test3 test5 test7 test9 [root@fxq-0 ~]#&nbst; tgsd0/ test1/ test10/ test2/ test3/ test4/ test5/ test6/ test7/ test8/ test9/ test0/ test1/ test10/ test2/ test3/ test4/ test5/ test6/ test7/ test8/ test9/ [root@fxq-0 ~]# ssh 192.168.42.181 Last login: Thu Aug 17 04:20:20 2017 from 192.168.42.180 [root@fxq-1 ~]# ls /tmp test0 test10 test3 test5 test7 test9 test1 test2 test4 test6 test8 [root@fxq-1 ~]#
解压到指定的目录 :-C加目录 [root@fxq ~]# tar -zxvf /home/images.tar.gz -C /specific dir
1.下载 wget 2.安装 rpm -ivh p7zip-16.02-2.el7.x86_64.rpm 3.解压命令大于4G文件 # 7z x 123.zip
本文出自 “冯晓庆的博客” 博客,请务必保留此出处http://fengyunshan911.blog.51cto.com/995251/1959844
Linux CentOS 7 中打包压缩工具gzip、bzip2、xz、zip、tar
标签:linux centos 7 中打包压缩工具gzip、bzip2、xz、zip、tar
原文地址:http://fengyunshan911.blog.51cto.com/995251/1959844