Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件名亦为“tar”。tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。
命令格式是:tar 功能 选项 文件
可以将代表功能和选项的单个字母合并;当使用单个字母时,可以不用在字母前面加“-”。某些版本的tar要求严格按照功能字、选项字的顺序,而有些版本的tar并不在意这个顺序。
功能
- -c,--create 创建新的tar文件
- -x,--extract,--get 解开tar文件
- -t,--list 列出tar文件中包含的文件的信息
- -r,--append 附加新的文件到tar文件中
- -u,--update 用已打包的文件的较新版本更新tar文件
- -A,--catenate,--concatenate 将tar文件作为一个整体追加到另一个tar文件中
- -d,--diff,--compare 将文件系统里的文件和tar文件里的文件进行比较
- --delete 删除tar文件里的文件。注意,这个功能不能用于已保存在磁带上的tar文件。
- -C directory, --directory=directory,先进入指定的目录,再释放
常用选项
- -v,--verbose 列出每一步处理涉及的文件的信息,只用一个“v”时,仅列出文件名,使用两个“v”时,列出权限、所有者、大小、时间、文件名等信息。
- -k,--keep-old-files 不覆盖文件系统上已有的文件。
- -f,--file [主机名:]文件名 指定要处理的文件名。可以用“-”代表标准输出或标准输入。
- -P,--absolute-names 使用绝对路径。
- -j,--bzip2 调用bzip2执行压缩或解压缩。注意,由于部分老版本的tar使用-I实现本功能,因此,编写脚本时,最好使用--bzip2。
- -J,--xz,--lzma 调用XZ Utils执行压缩或解压缩。依赖XZ Utils。
- -z,--gzip,--gunzip,--ungzip 调用gzip执行压缩或解压缩。
- -Z,--compress,--uncompress 调用compress执行压缩或解压缩。
实例
将文件打包成 tar 包:
tar -cvf log.tar log2012.log 仅打包,不压缩!
tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 压缩
tar -jcvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩
在文件夹当中,比某个日期新的文件才备份:
tar -N "2018/3/1" -zcvf log.tar.gz test
如果最简单的使用 tar 就只要记忆下面的三种方式即可:
压 缩:tar -jcv -f filename.tar.bz2 要压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录