Linux-打包压缩命令

内容总结自《鸟哥的Linux私房菜》http://cn.linux.vbird.org/linux_basic/0240tarcompress.php

一、打包/压缩文件常见扩展名

*.gz gzip 程序压缩的文件
*.bz2 bzip2 程序压缩的文件
*.tar tar 程序打包的数据,并没有压缩过
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩

二、常用命令

1、常见场景

压缩 tar -zcv -f filename.tar.gz 要被压缩的文件或目录名称
查询 tar -ztv -f filename.tar.gz
解压缩 tar -zxv -f filename.tar.gz -C 欲解压缩到的目录

2、仅解开单一文件的方法

tar -zxv -f filename.tar.gz 待解开文档名

具体文档名的查看可以用查询命令:

tar -ztv -f filename.tar.gz
#或者通过grep查找文件名关键字
tar -ztv -f filename.tar.gz | grep '文件名关键字'

3、打包时排除特定文件

假设我们想要打包 /etc/ /root 这几个重要的目录,但却不想要打包 /root/etc* 开头的文件,且不打包自身。

tar -zcv -f /root/system.tar.gz --exclude=/root/etc* --exclude=/root/system.tar.gz /etc /root

三、参数说明

-c 创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-t 察看打包文件的内容含有哪些档名
-x 解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开。特别留意的是,-c, -t, -x 不可同时出现在一串命令列中
-j 透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-z 透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-v 在压缩/解压缩的过程中,将正在处理的档名显示出来
-f filename -f 后面要立刻接要被处理的档名
-C 目录 这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
--exclude=FILE 在压缩的过程中,不要将 FILE 打包
-p 保留备份数据的原本权限与属性,常用于备份(-c)重要的配置档
-P 保留绝对路径,亦即允许备份数据中含有根目录存在之意
原文地址:https://www.cnblogs.com/zczhangcui/p/10951334.html