linux压缩和打包工具gzip_bzip2_xz_zip_tar
gizp:
* gzip工具不能压缩目录,只能压缩文件 压缩:gzip filename [[email?protected] test01]# ll -h * #查看压缩前all.txt文件大小 -rw-r--r-- 1 root root 4.2M 9月 7 13:44 all.txt [[email?protected] test01]# gzip all.txt #压缩all.txt文件 [[email?protected] test01]# ll -h * #查看压缩后all.txt文件大小 -rw-r--r-- 1 root root 1.2M 9月 7 13:44 all.txt.gz 解压:gzip -d filename [[email?protected] test01]# ls all.txt.gz [[email?protected] test01]# gzip -d all.txt.gz [[email?protected] test01]# ls all.txt 解压:gunzip -d filename [[email?protected] test01]# ls all.txt.gz [[email?protected] test01]# gunzip -d all.txt.gz [[email?protected] test01]# ls all.txt 指定压缩率:gzip -n filename (n的范围:1-9,压缩等级9压缩率最高,压缩速度也就最慢,对cup资源的消耗也就相对过高,压缩等级1压缩率最低,压缩速度也就最快,对cpu资源的消耗相对过低,默认等级为6) [[email?protected] test01]# gzip -9 all.txt [[email?protected] test01]# file all.txt.gz #file查看文件最后一列压缩等级为最大压缩率 all.txt.gz: gzip compressed data,was "all.txt",from Unix,last modified: Sat Sep 7 13:44:13 2019,max compression 查看压缩文件内容:(在不解压的情况下查看压缩文件内容使用zcat命令) [[email?protected] test01]# zcat all.txt.gz -c 参数:在压缩或解压时保留源文件 [[email?protected] test01]# gzip -c all.txt > all.txt.gz [[email?protected] test01]# ls all.txt all.txt.gz [[email?protected] test01]# gzip -d -c all.txt.gz > all2.txt [[email?protected] test01]# ls all2.txt all.txt all.txt.gz bzip2: [[email?protected] test01]# yum -y install bzip2 压缩:bzip2 filename xz: zip: [[email?protected] ~]# yum -y install zip 压缩文件:zip 压缩文件名 源文件名 (源文件可以是多个文件) [[email?protected] test01]# ls filetest.txt test02 test.sh [[email?protected] test01]# zip abc.zip filetest.txt test.sh adding: filetest.txt (deflated 85%) adding: test.sh (deflated 79%) [[email?protected] test01]# ls #将filetest.txt test.sh两个文件添加到压缩文件abc.zip abc.zip filetest.txt test02 test.sh 压缩目录:zip -r 压缩文件名 源文件名 (源文件可以是多个目录和文件) [[email?protected] test01]# ls abc.zip filetest.txt test02 test.sh [[email?protected] test01]# zip -r linuxtest.zip test02/ filetest.txt adding: test02/ (stored 0%) adding: test02/all.txt (deflated 71%) adding: filetest.txt (deflated 85%) [[email?protected] test01]# ls abc.zip filetest.txt linuxtest.zip test02 test.sh *zip压缩或解压文件或目录后,会自动保留源文件 解压:unzip filename [[email?protected] test01]# ls abc.zip filetest.txt linuxtest.zip test02 test.sh [[email?protected] test01]# rm -rf filetest.txt test.sh [[email?protected] test01]# ls abc.zip linuxtest.zip test02 [[email?protected] test01]# unzip abc.zip Archive: abc.zip inflating: filetest.txt inflating: test.sh [[email?protected] test01]# ls abc.zip filetest.txt linuxtest.zip test02 test.sh 将压缩文件中的内容解压到指定目录: unzip filename -d 目标目录路径 [[email?protected] test01]# ls abc.zip filetest.txt linuxtest.zip test02 test.sh [[email?protected] test01]# unzip linuxtest.zip -d /root/mytest/ Archive: linuxtest.zip creating: /root/mytest/test02/ inflating: /root/mytest/test02/all.txt inflating: /root/mytest/filetest.txt [[email?protected] test01]# ls /root/mytest/ filetest.txt test02 查看压缩文件中的文件列表: unzip -l filename [[email?protected] test01]# unzip -l linuxtest.zip Archive: linuxtest.zip Length Date Time Name --------- ---------- ----- ---- 0 09-07-2019 15:18 test02/ 4340076 09-07-2019 13:44 test02/all.txt 2943 09-07-2019 15:26 filetest.txt --------- ------- 4343019 3 files tar: 打包:tar -cvf 打包文件名 源文件 [[email?protected] test01]# ls test02 test.sh [[email?protected] test01]# tar -cvf testfile.tar test02/ test.sh test02/ test02/all.txt test02/filetest.txt test.sh [[email?protected] test01]# ls #将目录/test02和文件test.sh都打包为testfile.tar文件 test02 testfile.tar test.sh 解包:tar -xvf 目标文件 [[email?protected] test01]# ls test02 testfile.tar test.sh [[email?protected] test01]# rm -rf test02 test.sh [[email?protected] test01]# ls testfile.tar [[email?protected] test01]# tar -xvf testfile.tar test02/ test02/all.txt test02/filetest.txt test.sh [[email?protected] test01]# ls test02 testfile.tar test.sh 查看tar文件的文件列表:tar -tf 目标文件 [[email?protected] test01]# tar -tf testfile.tar test02/ test02/all.txt test02/filetest.txt test.sh 打包时过滤指定文件:- -exclude [[email?protected] test01]# ls test02/ all.txt filetest.txt test.sh [[email?protected] test01]# tar -cvf testfile.tar --exclude filetest.txt test02/ test02/ test02/all.txt test02/test.sh [[email?protected] test01]# ls test02 testfile.tar [[email?protected] test01]# tar -tf testfile.tar test02/ test02/all.txt test02/test.sh 过滤指定类型的文件: [[email?protected] test01]# tar -cvf testfile.tar --exclude "*.txt" test02/ test02/ test02/test.sh [[email?protected] test01]# ls test02 testfile.tar [[email?protected] test01]# tar -tf testfile.tar test02/ test02/test.sh 可以使用多个- -exclude: [[email?protected] test01]# tar -cvf testfile.tar --exclude filetest.txt --exclude test.sh test02/ test02/ test02/all.txt [[email?protected] test01]# ls test02 testfile.tar [[email?protected] test01]# tar -tf testfile.tar test02/ test02/all.txt tar在打包的同时支持压缩: 1.打包的同时压缩成gzip包:-zcvf [[email?protected] test01]# du -sh test02/ 4.2M test02/ [[email?protected] test01]# tar -zcvf testfile.tar.gz test02/ test02/ test02/all.txt test02/filetest.txt test02/test.sh [[email?protected] test01]# du -sh testfile.tar.gz 1.2M testfile.tar.gz 解压tar.gz包:-zxvf [[email?protected] test01]# tar -zxvf testfile.tar.gz test02/ test02/all.txt test02/filetest.txt test02/test.sh 2.打包的同时压缩成bzip2包: -jcvf [[email?protected] test01]# tar -jcvf testfile.tar.bz2 test02/ test02/ test02/all.txt test02/filetest.txt test02/test.sh [[email?protected] test01]# du -sh testfile.tar.bz2 1.2M testfile.tar.bz2 解压tar.bz2包: -jxvf [[email?protected] test01]# tar -jxvf testfile.tar.bz2 test02/ test02/all.txt test02/filetest.txt test02/test.sh 3.打包的同时压缩成xz包: -Jcvf [[email?protected] test01]# tar -Jcvf testfile.tar.xz test02/ test02/ test02/all.txt test02/filetest.txt test02/test.sh [[email?protected] test01]# du -sh testfile.tar.xz 252K testfile.tar.xz 解压tar.xz包: -Jxvf [[email?protected] test01]# tar -Jxvf testfile.tar.xz test02/ test02/all.txt test02/filetest.txt test02/test.sh (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |