语法:#tar [选项] 文件与目录
打包:把文件打包成一个文件
压缩:把文件压缩到一个文件
打包并压缩。
tar命令功能选项:
选项 | 功能 |
---|---|
-c | 建立一个压缩文件/包文件 |
-x | 解开一个压缩文件/包文件 |
-t | 查看包里的内容 |
-z | 是否要用gzip压缩 |
-j | 是否要用bzip2压缩 |
-v | 压缩过程中显示文件 |
-f | 使用文件,后面接文件名 |
-p | 原文件属性不变 |
-P | 可以使用绝对路径来压缩 |
-T 文件名 | 指定备份文件列表 |
-N 文件名 | 比设定的日期(yyyy/mm/dd)还要新的才会被打包到新建的文件中 |
-M | 分卷处理 |
-C 文件名 | 指定目录 |
- - exclude FILE | 不要将指定的FILE打包 |
-g,–listed-incremental F | 建立新 GNU 格式的备份 |
-G,–incremental | 建立老 GNU 格式的备份 |
更多参数详见:Tar (Linux系统命令)百度百科
tar -cvf ??? 打包+建立+显示过程+文件
tar -zcvf 用gzip压缩+建立+显示+文件
tar -jcvf 用bzip2压缩。。。
tar -ztvf 查看文件内有哪些内容
tar -zxvf 解压缩
用哪种方式压缩,用哪种方式解压。(-z 或 -j)
压缩: tar -zcvf 或 -jcvf 目标文件 原文件
解压: tar -zxvf 或 -jxvf 原文件
习惯上参数z 对应文件名为".tar.gz"或".tgz"
参数j对应文件名为".tar.bz2"
解压缩应先cd到相应目录下,解压到当前位置。
tar -zcvpf 将/etc/内的文件备份下来,并且保留权限(属主数组及权限)
tar -N '2020/1/1" -zcvf test.tar.gz /home
比日期新的/home下的问价,被打包到test.tar.gz中
tar --exclude /home/testuser -zcvf test.tar.gz /home/* /etc
备份/home、/etc,但不备份/home/testuser
全备份、增量备份
全备份就是直接打包压缩。备份文件名称包含日期。如:
testbak_full_`date +%Y%m%d`.tar.gz
增量备份:(备份文件名称包含日期和时间)(镜像文件若存在则备份增量,否则就成了全备份)
tar -g 镜像文件名 -czpPf 备份文件(如: testbak_incremental_`date +%Y%m%d-%H%M`.tar.gz ) 待备份的目录和文件
其中的大写P是指定绝对路径,如果不需要就不加。