压缩打包
windows下我们接触最多的压缩文件就是.rar格式, 但Linux有自己所特有的压缩工具。
一般linux上的压缩包windows上可以使用
如果希望windows和Linux互相能使用的压缩工具, 建议.zip格式
压缩打包的优点:
1节省磁盘空间占用率
2节省网络传输带宽消耗
3网络传输更加快捷
格式 压缩工具 .zip zip压缩工具 .gz gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) .bz2 bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) .tar.gz 先使用tar命令归档打包,然后使用gzip压缩 .tar.bz2 先使用tar命令归档打包,然后使用bzip压缩
# 查看文件的压缩类型 file abc.ini.gz
1.gzip压缩工具
yum install -y gzip # 安装 gzip打包会删除源文件 #压缩 [root@oldboyedu ~]# gzip file1 #解压 [root@oldboyedu ~]# gzip -d file1.gz #不需要解压,查看文件内容 [root@oldboyedu ~]# zcat file1.gz 123 练习题: 把/etc目录 拷贝/root下,找到/root/etc/下面所有一级二级目录中的 普通文件,压缩 [root@oldboyedu ~]# find /root/etc/ -maxdepth 2 -type f|xargs gzip 注意: 1.gzip 不可以压缩目录,只能压缩文件 [root@oldboyedu ~]# gzip /tmp gzip: /tmp is a directory -- ignored 2.gzip压缩的文件不在当前目录下(在原路径下) 3.压缩会删除源文件 4.解压会删除压缩文件 gzip的案例:mysql备份的时候 mysqldump -A |gzip > /tmp/mysql_$(date +%F).sql.gz
2.zip压缩工具
yum install -y zip unzip # 安装 -r:递归压缩 #压缩 [root@oldboyedu ~]# zip zls.zip file1 #解压 [root@oldboyedu ~]# unzip zls.zip Archive: zls.zip replace file1? [y]es, [n]o, [A]ll, [N]one, [r]ename: 替换 不替换 替换所有 啥也不做 改名 # 如果压缩的是一个文件,可以通过zcat查看压缩文件的内容, 如果压缩的是文件夹, linux下无法查看里面内容 #压缩目录 (压缩文件-r参数必须加上, 否则压缩的是一个空目录) [root@oldboyedu tmp]# zip -r tmp_dir2.zip /tmp/ 注意: 1.压缩不会删除源文件 2.解压不会删除压缩文件 3.解压开会覆盖源文件内容 练习题: 查找到etc下所有1,2,3目录,包括目录下的文件,zip打包名字叫:yourname_etc.zip
3.tar压缩工具
#语法:tar [-zjxcvfP] filename # tar的选项不用加-,加-显得不专业 c //创建新的归档文件 归档(本身并没有压缩的功能) x //对归档文件解包 解压 t //列出归档文件里的文件列表 v //输出命令的归档或解包的过程 f //指定包文件名,多参数f写最后 C //指定解压目录位置 z //使用gzip压缩归档后的文件(.tar.gz) # 先gzip压缩,后tar归档打包 j //使用bzip2压缩归档后的文件(.tar.bz2) J //使用xz压缩归档后的文件(tar.xz) X //排除多个文件(写入需要排除的文件名称) h //打包软链接 P //连带绝对路径打包 --hard-dereference //打包硬链接 --exclude //在打包的时候写入需要排除文件或目录 #打包压缩(一般正常打包zcf即可) [root@oldboyedu ~]# tar zcf zls2.tar.gz /etc 归档文件 包文件名 #查看打包内容 [root@oldboyedu ~]# tar tf zls1.tar.gz #解压 [root@oldboyedu ~]# tar xf zls1.tar.gz # 参数z不用加,自动选择解压格式。加了只能解压gzip压缩的 注意: 1.不要使用绝对路径(centos6中如果打包路径是绝对路径,解压直接覆盖。centos7中打包时会把绝对路径地址开头/删掉,变相对路径,起保护作用) 如果非要打包绝对路径:[root@oldboyedu ~]# tar zcfP b.sh.tar.gz /usr/local/nginx/a.sh 解压的时候:[root@oldboyedu ~]# tar xfP b.sh.tar.gz 2.tar 打包可以接多个文件f [root@oldboyedu ~]# tar zcf abc1.tar.gz 1.txt 2.txt 3.txt 格式 压缩工具 .zip zip压缩工具 zip -r dir.zip dirname 目录 zip file.zip filename 文件 .gz gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) gzip filename .bz2 bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) .tar.gz 先使用tar命令归档打包,然后使用gzip压缩 tar zcf dirname.tar.gz dirname .tar.bz2 先使用tar命令归档打包,然后使用bzip压缩 tar cjf dirname.tar.bz2 dirname .tar.xz tar cJf dirname.tar.xz dirname //常用打包与压缩组合 czf //打包tar.gz格式 cjf //打包tar.bz格式 cJf //打包tar.xz格式 xf //自动选择解压模式 tf //查看压缩包内容 #不想打包 的文件 [root@oldboyedu /]# tar zcf etc3.tar.gz --exclude=Makefile etc # 排除Makefile文件 [root@oldboyedu /]# tar zcf etc3.tar.gz --exclude={Makefile,Makefile1,Makefile2} etc # 排除多个文件 # 排除a.txt上多个文件(写入需要排除的文件名称) [root@oldboyedu /]# cat a.txt etc/latrace.d/headers/ etc/latrace.d/headers/ctype.h etc/latrace.d/headers/dirent.h etc/latrace.d/headers/dlfcn.h etc/latrace.d/headers/fcntl.h etc/latrace.d/headers/getopt.h etc/latrace.d/headers/inet.h etc/latrace.d/headers/ioctl.h etc/latrace.d/headers/latrace.h etc/latrace.d/headers/libintl.h [root@oldboyedu /]# tar zcfX etc4.tar.gz a.txt etc #指定解压路径 [root@oldboyedu ~]# tar xf abc1.tar.gz -C /opt/
标签:13,tar,zip,gz,gzip,root,打包 From: https://www.cnblogs.com/ludingchao/p/17047635.html