为什么要使用文件压缩 什么样样的情况下使用压缩
备份 数据传输 从服务器把数据备份到备份服务器 需要打包
1)节省磁盘空间
2)减少宽带使用
3)减少负载 减少IO口使用
tar命令
语法格式:
tar zcvf 包名.tar.gz 打包内容 多个文件 多个目录
参数:
z gzip 压缩
c 创建
v 显示过程
f 指定文名称
简写 zcf
批量打包
--exclude=PATTERN 排除不需要打包的文件
--exclude-from=FILE 将不需要的文件创建一个文件 排除文件里的打包
x 解压缩
C 指定解压位置
t 查看文件中的文件名称
打包
打包文件
[root@oldboyedu ~]# #打包当前的hosts文件
[root@oldboyedu ~]# tar zcvf hosts.tar.gz hosts
打包多个文件
[root@oldboyedu ~]# tar zcvf hosts.tar.gz hosts oldboy.txt passwd
hosts
oldboy.txt
passwd
打包目录
[root@oldboyedu ~]# tar zcf etc.tar.gz /etc
tar: Removing leading `/' from member names # 如果全路径打包会提示从成员中删除/ 保护系统安全
不让提示 使用相对路径打包
[root@oldboyedu ~]# cd /
[root@oldboyedu /]# tar zcf etc.tar.gz etc
[root@oldboyedu /]#
打包后的文件直接放在某个目录
[root@oldboyedu /]# ll /opt/
total 0
[root@oldboyedu /]# tar zcf /opt/etc.tar.gz etc
[root@oldboyedu /]# ll opt/
total 10012
-rw-r--r-- 1 root root 10248462 Nov 6 10:42 etc.tar.gz
批量打包
--exclude=PATTERN 排除不需要打包的文件
[root@oldboyedu ~]# tar zcvf test.tar.gz --exclude=all.hosts ./*
./all.tar.gz
./dir/
./dir/oldboy/
./hehe.txt
./hosts
./oldboy.txt
./passwd
./test.
./test.avi
./test.sh
-exclude-from=FILE将不需要的文件创建一个文件 排除文件里的打包
[root@oldboyedu ~]# tar zcvf test.tar.gz --exclude-from=exclude.txt ./*
./exclude.txt
./passwd
./test.
./test.avi
./test.sh
解压
tar xf 包名
[root@oldboyedu opt]# tar xf hosts.tar.gz
解压到固定的位置
tar xf 包名 -C 路径 表示解压到指定位置
[root@oldboyedu ~]# ll /opt/
total 0
[root@oldboyedu ~]# tar xf /tmp/hosts.tar.gz -C /opt/
[root@oldboyedu ~]# ll /opt/
total 82516
-rw-r--r-- 1 root root 84485563 Nov 5 10:43 hosts
-rw-r--r-- 1 root root 85 Nov 4 10:56 oldboy.txt
-rw-r--r-- 1 root root 986 Nov 6 10:16 passwd
查看压缩包中的文件名称
...
[root@oldboyedu ~]# tar tf /tmp/hosts.tar.gz
hosts
oldboy.txt
passwd
zip打包与解压
打包
zip 包名.zip 需要打包的内容
解压
unzip 包名字
-d 指定解压的位置