Dec
12
tar是Linux环境下最常用的备份工具之一。tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件。tar可用于建立、还原、查看、管理文件,也可方便的追加新文件到备份文件中,或仅更新部分的备份文件,以及解压、删除指定的文件。熟悉其常用参数,能方便日常的系统管理工作。
一、版本
还是那句,不同的操作系统,tar的命令参数是有点区别的:
二、简单操作
命令格式:
tar可使用的参数非常多,先列举几个最常用的参数:
简单使用:
把/etc目录中所有的文件打包为etc.tar文件
把/etc目录中所有的文件打包并使用gzip压缩为etc.tar.gz文件
把/etc目录中所有的文件打包并使用bzip2压缩为etc.tar.bz2文件
这里的,tar.gz或tar.bz2都是惯例,为方便标识的,例如:tgz等,并不是特定条件,但建议遵循惯例
查看备份包中的内容,若为已经压缩的文件,需加上-z或者-j参数
默认情况下,tar打包时都是使用相对路径的,所以,释放时,需要先进入目录目录,然后再解压
同样的,根据使用的压缩方式,应加上-z或者-j参数
这是另一种写法,结果和上面的相同,其会先进入/tmp目录,然后再释放包的
释放单个etc/passwd文件,正如前面提到的,tar包中的是相对路径,所以不能使用“/etc/passwd”
而且,这里不能使用-C参数,释放文件是当前路径的相对路径,并带目录释放
tar还可以支持很多额外的参数,方便我们在备份和释放的时候进行控制。
一、版本
还是那句,不同的操作系统,tar的命令参数是有点区别的:
引用
# tar --version
tar (GNU tar) 1.14
tar (GNU tar) 1.14
二、简单操作
命令格式:
tar [options] [tarfile] [other-files]
tar--long-option -function-options files
tar--long-option -function-options files
tar可使用的参数非常多,先列举几个最常用的参数:
引用
-t, --list
列出归档文件内容目录
-x, --extract, --get
从归档文件中解析文件
-c, --create
创建新的归档文件
上面三个参数,不能同时存在,仅能使用其中一个,即t/x/c
-f file, --file=file
指定备份文件,或设备,例如磁带机/dev/st0
-v, --verbose
显示命令的执行过程
-Z, --compress, --uncompress
使用compress命令处理备份文件
-z, --gzip, --gunzip, --ungzip
使用gzip命令处理备份文件
-j, --I, --bzip
使用bzip2命令处理备份文件
-z和-j都是在备份文件打包后才进行压缩的操作的,并且,该操作会影响其他的参数,后面会再提到
-C directory, --directory=directory
先进入指定的目录,再释放
列出归档文件内容目录
-x, --extract, --get
从归档文件中解析文件
-c, --create
创建新的归档文件
上面三个参数,不能同时存在,仅能使用其中一个,即t/x/c
-f file, --file=file
指定备份文件,或设备,例如磁带机/dev/st0
-v, --verbose
显示命令的执行过程
-Z, --compress, --uncompress
使用compress命令处理备份文件
-z, --gzip, --gunzip, --ungzip
使用gzip命令处理备份文件
-j, --I, --bzip
使用bzip2命令处理备份文件
-z和-j都是在备份文件打包后才进行压缩的操作的,并且,该操作会影响其他的参数,后面会再提到
-C directory, --directory=directory
先进入指定的目录,再释放
简单使用:
把/etc目录中所有的文件打包为etc.tar文件
tar -cvf /tmp/etc.tar /etc
把/etc目录中所有的文件打包并使用gzip压缩为etc.tar.gz文件
tar -zcvf /tmp/etc.tar.gz /etc
把/etc目录中所有的文件打包并使用bzip2压缩为etc.tar.bz2文件
这里的,tar.gz或tar.bz2都是惯例,为方便标识的,例如:tgz等,并不是特定条件,但建议遵循惯例
tar -jcvf /tmp/etc.tar.bz2 /etc
查看备份包中的内容,若为已经压缩的文件,需加上-z或者-j参数
tar -ztvf /tmp/etc.tar.gz
默认情况下,tar打包时都是使用相对路径的,所以,释放时,需要先进入目录目录,然后再解压
同样的,根据使用的压缩方式,应加上-z或者-j参数
cd /tmp && tar -zxvf /tmp/etc.tar.gz
这是另一种写法,结果和上面的相同,其会先进入/tmp目录,然后再释放包的
tar -zxvf /tmp/etc.tar.gz -C /tmp
释放单个etc/passwd文件,正如前面提到的,tar包中的是相对路径,所以不能使用“/etc/passwd”
而且,这里不能使用-C参数,释放文件是当前路径的相对路径,并带目录释放
tar -zxvf /tmp/etc.tar.gz etc/passwd
tar还可以支持很多额外的参数,方便我们在备份和释放的时候进行控制。