tar - juedaiyuer/researchNote GitHub Wiki

tar

Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)

参数

c			创建 tar 文件
v			输出 tar 的详细过程到屏幕上
f			指定归档文件名称
t			不用释放其中的文件就可以快速列出文件中包含的内容
r			用于向已有的 tar 文件中追加文件
c			释放tar文件中的内容到指定的文件夹或者目录
x			释放tar文件中的文件和目录
z			对归档文件使用gzip压缩
j			压缩为tar.bz2或者.tbz
exclude		排除指定文件或者类型
t			列出压缩文件的内容
x			解压.tar.gz或.tgz文件
z			解压.tar.gz或.tgz文件
j			解压.tar.bz2或.tbz2文件
x			解压.tar.bz2或.tbz2文件

实例

#将tar包解压缩
tar -ztvf

#解压tar.gz
tar -xzvf file

创建一个tar归档文件

#myarchive.tar	创建的目标文件名
tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg 

列出归档文件中的内容

tar -tvf myarchive.tar

追加文件到归档tar文件中

tar -rvf data.tar /etc/fstab

释放tar文件到指定目录

tar -xvf myarchive.tar -C /tmp/

创建并压缩归档文件

# tar.gz或者 tgz
tar -zcpvf myarchive.tar.gz /etc/ /opt/

# tar.bz2或者 tbz2
tar -jcpvf myarchive.tbz2 /etc/ /opt/

排除指定文件或类型后创建tar文件

tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.html

使用tar命令进行定时备份

tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/

# 为以上命令创建一个cron任务即可

使用-T及-X创建压缩归档文件

# T 指定该输出文件
# X 指定包含要排除的文件
tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude

source