6.5 zip压缩工具
安装zip
[root@axiang-03 ~]# yum install -y zip unzip
- 压缩与卸载是两个包
zip压缩
[root@axiang-03 ~]# cd zip[root@axiang-03 zip]# du -sh3.8M .[root@axiang-03 zip]# du -sh file 3.8M file[root@axiang-03 zip]# zip file.zip file adding: file (deflated 73%)[root@axiang-03 zip]# du -sh file.zip 832K file.zip
zip解压
[root@axiang-03 zip]# unzip file.zip Archive: file.zipreplace file? [y]es, [n]o, [A]ll, [N]one, [r]ename: rnew name: file2 inflating: file2 [root@axiang-03 zip]# lsfile file2 file.zip[root@axiang-03 zip]# ll总用量 7804-rw-r--r-- 1 root root 3205676 8月 23 14:16 file-rw-r--r-- 1 root root 3205676 8月 23 14:16 file2-rw-r--r-- 1 root root 850583 8月 23 14:18 file.zip
zip -r 压缩目录
[root@axiang-03 zip]# mkdir dir[root@axiang-03 zip]# mv file2 dir[root@axiang-03 zip]# zip -r dir.zip dir adding: dir/ (stored 0%) adding: dir/file2 (deflated 73%)[root@axiang-03 zip]# du -sh dir.zip 832K dir.zip[root@axiang-03 zip]# unzip dir.zipArchive: dir.zipreplace dir/file2? [y]es, [n]o, [A]ll, [N]one, [r]ename: y inflating: dir/file2 [root@axiang-03 zip]# lsdir dir.zip file file.zip
常见语法
- zip file.zip file
- zip -r dir.zip dir
- unzip file.zip
- unzip file.zip -d dirpath 指定解压位置解压
- unzip -l file.zip 查看压缩包文件列表
6.6 tar打包
- 打包传输快,还可能省空间。
- tar命令不删原文件,但是会不提示就覆盖目标文件,注意参数后第一个名称即是目标文件
错误示范
[root@axiang-03 tar]# echo 111 > 1[root@axiang-03 tar]# echo 222 > 2[root@axiang-03 tar]# echo 333 > 3[root@axiang-03 tar]# ls1 2 3[root@axiang-03 tar]# tar cvf 1 2 323[root@axiang-03 tar]# cat 120000644000000000000000000000000413147172670007642 0ustar rootroot22230000644000000000000000000000000413147172676007651 0ustar rootroot333
常见语法
- tar -cvf 123.tar 123
- tar -cvf axiang.tar 1.txt 123
- tar -xvf axiang.tar
- tar -tf axiang.tar 查看列表
- tar -cvf axiang.tar --exclude 1.txt --exclude 2 123
- 剔除1.txt和目录2.打包123并命名为axiang.tar
6.7 打包并压缩
- tar -zcvf all.tar.gz 123 234 相当于结合gzip压缩打包,也会不提示直接覆盖旧文件
- tar -zxvf 123.tar.gz 相当于结合gzip解压
- tar -jcvf 123.tar.bz2 123 234
- tar -jxvf 123.tar.bz
- tar -Jcvf 123.tar.xz 123 234
- tar -Jxvf 123.tar.xz
- tar -tf 123.tar.bz2 /tar -tf 123.tar.gz /tar tf 123.tar.xz
压缩当前目录下的全部文件
[root@axiang-03 tar]# tar zcvf all.tar.gz ./*./1./2./3./dir/./dir/file2./dir.zip./file./file.zip[root@axiang-03 tar]# ls1 2 3 all.tar.gz dir dir.zip file file.zip
再一次执行直接覆盖
[root@axiang-03 tar]# tar zcvf all.tar.gz ./*./1./2./3./all.tar.gz./dir/./dir/file2./dir.zip./file./file.zip
取消个别文件打包
[root@axiang-03 tar]# rm all.tar.gz rm:是否删除普通文件 "all.tar.gz"?y[root@axiang-03 tar]# tar zcvf all.tar.gz ./* --exclude 1 --exclude 2./3./dir/./dir/file2./dir.zip./file./file.zip