欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux压缩打包tar命令

程序员文章站 2022-08-17 17:26:34
命令简介 在Linux系统的维护、管理中,tar命令是一个使用频率很高的命令,tar命令的功能主要是将众多文件打包成一个tar文件并压缩,并且能保持文件的权限属性。tar其实最开始是用来做磁带备份存盘的,tar是tape archive的简称。后面扩展到不仅仅局限于磁带备份存盘。也能存放到文件系统中... ......

 

命令简介

 

在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.gzxx. 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

 

注意:加上参数z或j也没有错,暂时不清楚区别。

 

 

--解压打包的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

 

--打包压缩为gz格式的文件

 

[root@db-server mysqlbackup]#tar -zcvf 2018-10-20.tar.gz ./2018-10-20

 

--打包压缩后删除原文件夹或原文件

 

[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目录打包压缩后,删除这个原文件夹。

 

 

--绝对路径打包压缩的相关案例

 

打包相对路径文件演示

 

[root@db-server db_backup]# ls -lrt

total 16

drwxr-xr-x 2 root root 4096 oct 21 22:39 2018-10-20

drwxr-xr-x 3 root root 4096 oct 21 22:39 2018-10-21

[root@db-server db_backup]#