1.语法
tar命令操作
操作 | 长选项 | 描述 |
-A | --concatenate | 将一个tar归档文件追加到另一个tar归档文件末尾 |
-c | --create | 创建新的tar归档文件 |
-d | --diff | 检查归档文件和文件系统的不同之处 |
--delete | 从tar归档文件删除文件 | |
-r | --append | 将文件追加到tar归档文件末尾 |
-t | --list | 列出tar归档文件的内容 |
-x | --extract | 从tar归档文件提取文件 |
tar命令选项
选项 | 描述 |
-C dir | 切换到指定目录 |
-f file | 将结果输出到文件 |
-j | 将输出传给bzip2命令进行压缩 |
-p | 保留文件的所有权限 |
-v | 在处理文件时显示文件名 |
-z | 将输出传给gzip命令压缩 |
2.案例
创建归档文件
tar -cf log1.tar log1/
列出归档文件所包含的文件
tar -tf log1.tar
列出归档文件所包含文件的详细信息
tar -tvf log1.tar
##以上命令可以组合
tar -cvf log2.tar log2/
命令选项超过一个会报以下错误
向归档文件追加文件
tar -rvf log1.tar log1/5.txt
从归档文件提取文件
tar -xvf log1.tar
#若要提取到指定目录,加-C
tar -xvf log1.tar -C log3
将log2.tar合并到log.tar中
tar -Af log1.tar log2.tar
从归档文件中删除文件
tar -f log1.tar --delete log1
压缩为 tar.gz 或 tgz
tar -zcvf log1.tar.gz log1/
压缩为 tar.bz2
tar -jcvf log11.tar.bz2 log1/
[-a] 支持根据扩展名自动选择压缩算法
tar -acvf log111.tar.gz log1/
3.应用-备份
#将1天前的文件备份
find /home/dog/ -mtime +1 -name "*.txt" | tar -zcf log.tar.gz -T -
#打包目标是绝对路径,会警告tar: 从成员名中删除开头的“/”,忽略,不用在意
#也可以往log.tar.gz添加文件
find /home/dog/ -mtime +1 -name "*.txt" | tar -rf log.tar -T - | gzip > log.tar.gz
4.定时备份
定时查看这篇文档