Linux压缩打包tar命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux压缩打包tar命令相关的知识,希望对你有一定的参考价值。
命令简介
在Linux系统的维护、管理中,tar命令是一个使用频率很高的命令,tar命令的功能主要是将众多文件打包成一个tar文件并压缩,并且能保持文件的权限属性。tar其实最开始是用来做磁带备份存盘的,tar是tape archive的简称。后面扩展到不仅仅局限于磁带备份存盘。也能存放到文件系统中。tar命令版本众多,下面整理了一些常用的参数,具体以实际版本为准。
命令参数
参数 | 参数描述 |
-c | 创建新的档案文件 |
-C | 指定到要解压到的目录。注意:该目录必须存在 |
-f | 指定打包的文件名。在f之后要立即接打包文件名!不要再加参数! |
-x | 解压 |
-O | 将文件解压到标准输出 |
-p | 使用原文件的原来属性 |
-P | 创建归档文件,使用绝对路径 |
-t | 列出档案文件中的内容 |
-r | 向压缩归档文件末尾追加文件 |
-u | 更新原压缩包中的文件 |
-v | 显示详细过程 |
-z | 使用gzip压缩,一般格式为xx.tar.gz或xx. tgz |
-Z | 有compress |
-j | 使用bzip2压缩,一般格式为xxx.tar.bz2 |
--exclude | 在压缩过程中,排除某个文件 |
--remove-files | 在完成打包后,删除原文件夹 |
注意事项:
1:在上面的参数中, c/x/t 仅能存在一个!不可同时存在!例如,不可能同时压缩与解压缩。
2:-f: 指定打包的文件名,切记,这个参数是最后一个参数(不能再接其它参数),后面只能接打包文件名。
3:参数可以合并在一起,也可以单独分开。如下所示:
#tar -jcvf 2018-10-14.tar.bz2 ./2018-10-11
#tar -j -c -v -f 2018-10-14.tar.bz2 ./2018-10-11
使用示例
--打包当前目录下所有后缀为log类型的文件
[root@DB-Server logs]# tar -cvf backup_log.tar ./*.log
--查看打包了那些文件
[root@DB-Server logs]# tar -tf backup_log.ta
记住:如果文件是压缩格式,如何查看打包了那些文件呢? 是否需要参数z或f呢? 其实是不需要参数z或j也是能查看的。
[root@DB-Server logs]# tar -jcvf backup.tar.bz2 ./*.log
[root@DB-Server logs]# tar -tvf backup.tar.bz2
[root@DB-Server logs]# tar -tjvf backup.tar.bz2
[root@DB-Server full]# tar -tjvf full_2018-10-21_00_00_01.tar.bz2
注意:加上参数z或j也没有错,暂时不清楚区别。猜测有可能是自动进行了解压.
--查看是否打包了文件incr_2018-10-16_12_00_01.log
[root@DB-Server mysql]# tar -tvf logs.tar.bz2 | grep incr_2018-10-16_12_00_01.log
-rw-r--r-- root/root 118944 2018-10-21 10:16:01 home/mysqlbackup/logs/incr_2018-10-16_12_00_01.log
--解压打包的backup_log.tar文件
[root@DB-Server logs]# tar -xvf backup_log.tar
--打包压缩为bz2格式的文件
[root@DB-Server mysqlbackup]#tar -jcvf 2018-10-20.tar.bz2 ./2018-10-20
注意:使用bz2压缩的打包文件,后缀可以为filename.tar.bz2 或 filenam.tbz两种格式,视个人喜好、习惯而定。
--打包压缩为gz格式的文件
[root@DB-Server mysqlbackup]#tar -zcvf 2018-10-20.tar.gz ./2018-10-20
注意:使用gzip压缩的打包文件,后缀可以为filename.tgz 或filename.tar.gz两种格式,视个人喜好、习惯而定。
--打包压缩后删除原文件夹或原文件
[root@DB-Server mysqlbackup]tar -zcvf 2018-10-13.tar.gz /mysql_backup/2018-10-13 --remove-files
#参数remove-files会在/mysql_backup/2018-10-13目录打包压缩后,删除这个原文件夹。
--解压压缩格式为gz格式的打包文件
[root@DB-Server mysqlback 以上是关于Linux压缩打包tar命令的主要内容,如果未能解决你的问题,请参考以下文章