6.5 zip压缩工具
★zip支持压缩目录
前期准备:
[root@localhost d6z]# tree aminglinux/ aminglinux/ ├── 2 │ └── 2.txt └── aming2 ├── 2 │ └── 2.txt ├── aming1 │ ├── 2 │ │ └── 2.txt │ └── aminglinux │ └── 2 │ └── 2.txt └── ls2 8 directories, 4 files [root@localhost d6z]# cp 4.txt aminglinux/2/ [root@localhost d6z]# du -sh aminglinux/ 1.7Maminglinux/
·压缩文件命令:zip 压缩文件名 文件名 (压缩后源文件不删除)
[root@localhost d6z]# zip 2.txt.zip 2.txt adding: 2.txt (deflated 74%) [root@localhost d6z]# du -sh 2.txt.zip 436K2.txt.zip
·压缩目录命令:zip -r 压缩文件名 目录
[root@localhost d6z]# zip -r aming.zip 3.txt aminglinux adding: 3.txt (deflated 74%) adding: aminglinux/ (stored 0%) adding: aminglinux/2/ (stored 0%) adding: aminglinux/2/2.txt (stored 0%) adding: aminglinux/2/4.txt (deflated 74%) adding: aminglinux/aming2/ (stored 0%) adding: aminglinux/aming2/2/ (stored 0%) adding: aminglinux/aming2/2/2.txt (stored 0%) adding: aminglinux/aming2/aming1/ (stored 0%) adding: aminglinux/aming2/aming1/2/ (stored 0%) adding: aminglinux/aming2/aming1/2/2.txt (stored 0%) adding: aminglinux/aming2/aming1/aminglinux/ (stored 0%) adding: aminglinux/aming2/aming1/aminglinux/2/ (stored 0%) adding: aminglinux/aming2/aming1/aminglinux/2/2.txt (stored 0%) adding: aminglinux/aming2/ls2/ (stored 0%) [root@localhost d6z]# ls 1.txt 2.txt 2.txt.zip 3.txt 4.txt aminglinux aming.zip [root@localhost d6z]# du -sh aming.zip 868Kaming.zip
·解压缩命令:unzip 压缩文件名
[root@localhost d6z]# unzip aming.zip Archive: aming.zip replace 3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: n ##压缩时没删除源文件,解压缩时提示选项 replace aminglinux/2/2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y extracting: aminglinux/2/2.txt replace aminglinux/2/4.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A inflating: aminglinux/2/4.txt extracting: aminglinux/aming2/2/2.txt extracting: aminglinux/aming2/aming1/2/2.txt extracting: aminglinux/aming2/aming1/aminglinux/2/2.txt
·解压到指定目录:unzip 压缩文件名 -d 指定目录 ##压缩后文件名无法更改
[root@localhost d6z]# unzip 2.txt.zip -d text/ ##注意 -d 的位置,不可放在压缩文件名前 Archive: 2.txt.zip inflating: text/2.txt [root@localhost d6z]# du -sh text/2.txt 1.7Mtext/2.txt
·查看压缩包文件列表:unzip -l 压缩包名 (zip压缩包无法查看内容,只可以查看列表)
[root@localhost d6z]# unzip -l aming.zip Archive: aming.zip Length Date Time Name --------- ---------- ----- ---- 1700160 01-04-2018 21:35 3.txt 0 01-04-2018 22:20 aminglinux/ 0 01-04-2018 22:21 aminglinux/2/ 0 01-04-2018 22:20 aminglinux/2/2.txt 1700160 01-04-2018 22:21 aminglinux/2/4.txt 0 01-04-2018 22:20 aminglinux/aming2/ 0 01-04-2018 22:20 aminglinux/aming2/2/ 0 01-04-2018 22:20 aminglinux/aming2/2/2.txt 0 01-04-2018 22:20 aminglinux/aming2/aming1/ 0 01-04-2018 22:20 aminglinux/aming2/aming1/2/ 0 01-04-2018 22:20 aminglinux/aming2/aming1/2/2.txt 0 01-04-2018 22:20 aminglinux/aming2/aming1/aminglinux/ 0 01-04-2018 22:20 aminglinux/aming2/aming1/aminglinux/2/ 0 01-04-2018 22:20 aminglinux/aming2/aming1/aminglinux/2/2.txt 0 01-04-2018 22:20 aminglinux/aming2/ls2/ --------- ------- 3400320 15 files
6.6 tar打包
服务器之间传输多个文件和目录,把所有文件和目录打包成一个大文件
·打包命令:tar -cvf 包名称 文件/目录 (可分别打包文件和目录,也可以同时打包二者)
[root@localhost d6z]# tar -cvf aminglinux.tar aminglinux/ ## c创建 v可视化 f 包名 f后接包名 aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/
(如果再次打包成同样名称的包,那么会直接覆盖原包,不提示)
·解包命令:tar -xvf 包名
[root@localhost d6z]# tar -xvf aminglinux.tar ##解包也会直接覆盖,不提示 aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/
·查看包列表:tar -tf 包名称 ## List all files
[root@localhost d6z]# tar -tf aminglinux.tar aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/
·打包时过滤掉某些不需要的文件或目录:
tar -cvf 包名 --exclude 文件/目录 其余不过滤的文件/目录 (可以多次使用 --exclude)
[root@localhost d6z]# tar -cvf aminglinux.tar --exclude aming1 aminglinux 3.txt 4.txt aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt [root@localhost d6z]# tar -cvf aminglinux.tar --exclude 2.txt --exclude aming1 aminglinux 3.txt 4.txt aminglinux/ aminglinux/2/ aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/ls2/ 3.txt 4.txt
(过滤多个文件或目录需要多次使用 --exclude )
6.7 打包并压缩
tar打包时支持同时压缩
·tar打包时压缩(支持的是gzip):tar -zcvf 解包解压缩为 tar -zxvf
[root@localhost d6z]# tar -zcvf aminglinux.tar.gz aminglinux 3.txt 4.txt aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt [root@localhost d6z]# du -sh aminglinux 3.txt 4.txt 1.7Maminglinux 1.7M3.txt 1.7M4.txt [root@localhost d6z]# du -sh aminglinux.tar.gz 1.3Maminglinux.tar.gz [root@localhost d6z]# tar -zxvf aminglinux.tar.gz aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt
·tar打包时压缩(支持的时bzip2):tar -jcvf 解包解压缩为 tar -jxvf
[root@localhost d6z]# tar -jcvf aminglinux.tar.bz2 aminglinux 3.txt 4.txt aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt [root@localhost d6z]# du -sh aminglinux 3.txt 4.txt 1.7Maminglinux 1.7M3.txt 1.7M4.txt [root@localhost d6z]# du -sh aminglinux.tar.bz2 476Kaminglinux.tar.bz2 [root@localhost d6z]# tar -jxvf aminglinux.tar.bz2 aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt
·tar打包时压缩(支持的时xz):tar -Jcvf 解包解压缩为 tar -Jxvf
[root@localhost d6z]# tar -Jcvf aminglinux.tar.xz aminglinux 3.txt 4.txt aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt [root@localhost d6z]# du -sh aminglinux 3.txt 4.txt 1.7Maminglinux 1.7M3.txt 1.7M4.txt [root@localhost d6z]# du -sh aminglinux.tar.xz 60Kaminglinux.tar.xz [root@localhost d6z]# tar -Jxvf aminglinux.tar.xz aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt
·查看文件列表:tar -tf aminglinux.tar.gz / .bz2 / .xz (三种格式都可以)
[root@localhost d6z]# tar -tf aminglinux.tar.gz aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt [root@localhost d6z]# tar -tf aminglinux.tar.bz2 aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt [root@localhost d6z]# tar -tf aminglinux.tar.xz aminglinux/ aminglinux/2/ aminglinux/2/2.txt aminglinux/2/4.txt aminglinux/aming2/ aminglinux/aming2/2/ aminglinux/aming2/2/2.txt aminglinux/aming2/aming1/ aminglinux/aming2/aming1/2/ aminglinux/aming2/aming1/2/2.txt aminglinux/aming2/aming1/aminglinux/ aminglinux/aming2/aming1/aminglinux/2/ aminglinux/aming2/aming1/aminglinux/2/2.txt aminglinux/aming2/ls2/ 3.txt 4.txt