您的位置:首页 > 其它

zip,tar,打包并压缩

2017-08-25 00:00 302 查看

6.5 zip压缩工具

安装zip

[root@axiang-03 ~]# yum install -y zip  unzip


压缩与卸载是两个包

zip压缩

[root@axiang-03 ~]# cd zip
[root@axiang-03 zip]# du -sh
3.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.zip
replace file? [y]es,
o, [A]ll,
one, [r]ename: r
new name: file2
inflating: file2
[root@axiang-03 zip]# ls
file  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.zip
Archive:  dir.zip
replace dir/file2? [y]es,
o, [A]ll,
one, [r]ename: y
inflating: dir/file2
[root@axiang-03 zip]# ls
dir  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]# ls
1  2  3
[root@axiang-03 tar]# tar cvf 1 2 3
2
3
[root@axiang-03 tar]# cat 1
20000644000000000000000000000000413147172670007642 0ustar  rootroot222
30000644000000000000000000000000413147172676007651 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]# ls
1  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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: