Linux常用的压缩工具
- .gz:表示gzip压缩工具压缩文件;
- .bz2:表示bzip2压缩工具压缩文件;
- .tar:表示由tar打包程序打包的文件;(tar没有压缩功能,只是把一个目录合并成一个文件);
- .tar.gz:可以理解先由tar打包,然后再由gzip压缩;
- .tar.bz2:可以理解先由tar打包,然后再由bzip2压缩;
- .tar.xz可以理解先由tar打包,然后再由xz压缩;
1、gzip压缩工具
gzip命令格式:gzip [-d#] filename;
- -d :解压缩时使用;
- -# :表示压缩的等级;1为最差,9为最好,6为默认;
- 不能压缩目录;
- zcat 1.txt.gz 查看压缩文件内容;
- gzip -c 1.txt > /root/1.txt.gz 把文件压缩到指定目录下;
- -gzip -d -c /root/1.txt.gz > /tmp/2.txt 把文件解压缩到指定目录下 ;
- zcat 查看gzip压缩文件内容;
[root@bogon ~]# cd /tmp
[root@bogon tmp]# ls
1 systemd-private-84df25ebf51847bf81836925ce6dbe6f-chronyd.service-VYMPjX
1.txt systemd-private-84df25ebf51847bf81836925ce6dbe6f-vgauthd.service-fsTu5M
linux systemd-private-84df25ebf51847bf81836925ce6dbe6f-vmtoolsd.service-7Dpi0C
ls10 systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-chronyd.service-xZSMq9
newdisk systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vgauthd.service-WpkCm1
passwd.sh systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vmtoolsd.service-TstFbV
[root@bogon tmp]# mkdir gz
[root@bogon tmp]# ls
1 systemd-private-84df25ebf51847bf81836925ce6dbe6f-chronyd.service-VYMPjX
1.txt systemd-private-84df25ebf51847bf81836925ce6dbe6f-vgauthd.service-fsTu5M
gz systemd-private-84df25ebf51847bf81836925ce6dbe6f-vmtoolsd.service-7Dpi0C
linux systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-chronyd.service-xZSMq9
ls10 systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vgauthd.service-WpkCm1
newdisk systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vmtoolsd.service-TstFbV
passwd.sh
[root@bogon tmp]# cd gz/
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# ls
1.txt
[root@bogon gz]# du -sh 1.txt
240K 1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
704K 1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
1.2M 1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
1.2M 1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
3.2M 1.txt
[root@bogon gz]# wc -l 1.txt
36468 1.txt
[root@bogon gz]# gzip 1.txt
[root@bogon gz]# ls
1.txt.gz
[root@bogon gz]# du -sh 1.txt.gz
372K 1.txt.gz
[root@bogon gz]# gzip -d 1.txt.gz
[root@bogon gz]# ls
1.txt
[root@bogon gz]# du -sh 1.txt
1.4M 1.txt
[root@bogon gz]# gzip -1 1.txt
[root@bogon gz]# du -sh 1.txt.gz
440K 1.txt.gz
[root@bogon gz]# gzip -d 1.txt.gz
[root@bogon gz]# gzip -c 1.txt > /tmp/1.txt.gz
[root@bogon gz]# ls
1.txt
[root@bogon gz]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[root@bogon gz]# file !$
file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu May 24 22:53:39 2018
[root@bogon gz]# gzip -d -c /tmp/1.txt.gz > /tmp/gz/2.txt
[root@bogon gz]# ls
1.txt 2.txt
2、bzip2压缩工具
bzip2命令格式:bzip2 [-dz] filename;
- -d :解压缩时使用;bzip2 -d=bunzip2;
- -z :压缩;压缩时可加也可以不加;压缩级别有1-9;9为默认;
- 不能压缩目录;
- bzip2 -c 1.txt > /tmp/1.txt.bz2;把文件压缩到指定目录下;
- bzip2 -d -c /tmp/1.txt.bz2 > 3.txt 把文件解压缩到指定目录下;
- bzcat 查看bzip2压缩文件内容;
[root@bogon gz]# yum install bzip2
[root@bogon gz]# bzip2 1.txt
[root@bogon gz]# ls
1.txt.bz2 2.txt
[root@bogon gz]# du -sh 1.txt.bz2
156K 1.txt.bz2
[root@bogon gz]# bzip2 -d 1.txt.bz2
[root@bogon gz]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@bogon gz]# du -sh /tmp/1.txt.bz2
156K /tmp/1.txt.bz2
[root@bogon gz]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt
[root@bogon gz]# ls
1.txt 2.txt 3.txt
3、xz压缩工具
xz命令格式:xz [-dz] filename;
- -d :解压缩时使用;xz -d=unxz;
- -z :压缩;压缩时可加也可以不加;压缩级别有1-9;
- 不能压缩目录;
- xz -c 2.txt > /tmp/2.txt.xz ;把文件压缩到指定目录下
- xz -d -c /tmp/2.txt.xz > 4.txt ;把文件解压缩到指定目录下
- xzcat 查看xz压缩文件内容
[root@bogon gz]# ls
1.txt 2.txt 3.txt
[root@bogon gz]# xz 2.txt
[root@bogon gz]# ls
1.txt 2.txt.xz 3.txt
[root@bogon gz]# du -sh 2.txt.xz
56K 2.txt.xz
[root@bogon gz]# xz -d 2.txt.xz
[root@bogon gz]# xz -c 2.txt > /tmp/2.txt.xz
[root@bogon gz]# xz -d -c /tmp/2.txt.xz > 4.txt
[root@bogon gz]# ls
1.txt 2.txt 3.txt 4.txt
4、zip压缩工具
zip支持压缩目录和文件; zip命令格式:zip [-r] 压缩filename filename
- -r :把目录下文件一并压缩;
- unzip:解压缩zip文件
- unzip 4.txt.zip -d /tmp/gz/zip :解压缩到指定目录
[root@bogon gz]# yum install zip
[root@bogon gz]# mkdir zip
[root@bogon gz]# ls
1.txt 2.txt 3.txt 4.txt zip
[root@bogon gz]# zip 4.txt.zip 4.txt
adding: 4.txt (deflated 74%)
[root@bogon gz]# ls
1.txt 2.txt 3.txt 4.txt 4.txt.zip zip
[root@bogon gz]# zip -r 1.zip zip
adding: zip/ (stored 0%)
adding: zip/gz/ (stored 0%)
adding: zip/gz/1.txt (deflated 74%)
adding: zip/gz/3.txt (deflated 74%)
adding: zip/gz/2.txt (deflated 74%)
adding: zip/gz/4.txt (deflated 74%)
adding: zip/gz/zip/ (stored 0%)
adding: zip/1.txt (deflated 74%)
[root@bogon gz]# ls
1.txt 1.zip 2.txt 3.txt 4.txt 4.txt.zip zip
[root@bogon gz]# unzip 4.txt.zip
[root@bogon gz]# unzip 4.txt.zip -d /tmp/gz/zip
Archive: 4.txt.zip
inflating: /tmp/gz/zip/4.txt
[root@bogon gz]# ls /tmp/gz/zip
1.txt 4.txt gz
5、tar打包工具
tar 把目录打包成一个文件;命令格式tar [-zjxcvfpP] filename tar
- -z :表示同时用gzip压缩;
- -j :表示同时用bzip2压缩;
- -J :表示同时用xz压缩;
- -x :表示解包或解压缩;
- -t :查看tar包里的文件;
- -c :表示建立一个tar包或者压缩文件包;
- -v :表示可视化;
- -f :后面跟文件名,-f filename即表示压缩后的文件名为filename;
- -p :表示原文件是什么属性,压缩后文件就是什么属性;
- -P :表示可以使用绝对路径;
- -exclude filename :表示打包压缩时,不要将filename文件包括在内;
打包目录
[root@bogon gz]# ls
1.txt 1.zip 2.txt 3.txt 4.txt 4.txt.zip zip
[root@bogon gz]# tar -cvf zip.tar zip
zip/
zip/gz/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/gz/zip/
zip/1.txt
zip/4.txt
[root@bogon gz]# ls
1.txt 1.zip 2.txt 3.txt 4.txt 4.txt.zip zip zip.tar
解包目录
[root@bogon gz]# tar -xvf zip.tar
zip/
zip/gz/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/gz/zip/
zip/1.txt
zip/4.txt
打包目录和文件
[root@bogon gz]# tar -cvf zip.tar zip 1.zip 2.txt
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt
查看打包文件
[root@bogon gz]# tar -tf zip.tar
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt
打包gzip压缩文件
[root@bogon gz]# tar -czvf zip.tar.gz zip 1.zip 2.txt
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt
[root@bogon gz]# du -sh zip.tar.gz
4.4M zip.tar.gz
查看打包的压缩文件
[root@bogon gz]# tar -tf zip.tar.gz
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt