Linux命令:tar
最近更新时间 2019-12-30 14:34:28
tar命令用于压缩解压文件。可以将多个文件合并为一个文件,合并后的文件后缀为.tar。最初的设计目的时将文件备份到磁带上(tape archive),因此命名tar。
tar文件如果进行压缩,根据采用的压缩算法不一样而有不同后缀,常用扩展名如下
- .tgz等同于.tar.gz
- .tbz和tb2等同于.tar.gz2
- .taz等同于.tar.Z
- .tlz等同于.tar.lzma
- .txz等同于.tar.xz
命令格式
tar [-options] <name of the tar archive> [files or directories which to add into archive]
常用选项
-c
创建新的tar文件。-x
解开tar文件。-t
列出tar文件中包含的文件信息。-r
添加新的文件到tar文件中。-A
添加tar文件到另一个tar文件中。-d
将系统里的文件和tar里面的文件进行比较。-v
列出处理过程中涉及的文件信息,只有一个"v"时,只显示文件名,使用两个“v”,显示权限、所有者、时间等信息。-k
不覆盖系统中已有的文件。-f
指定文件名。-P
使用绝对路径。--bzip2
调用bzip2执行压缩或解压。-J
调用XZ Utils执行压缩或解压。-z
调用gzip执行压缩或解压。
常用命令
打包目录
把/docsxyz目录下所有文件打包到docsxyz.tar文件中,tar默认记录相对路径,如果想要使用绝对路径需要“-P”参数。
tar -cvf docsxyz_backup.tar /docsxyz
#或者
cd /docsxyz
tar -cvf docsxyz_backup.tar *
#如果打包后进行gz压缩
tar -czvf docsxyz_backup.tar.gz /docsxyz
以上第二种方式解压时会将文件直接输出到当前目录,而不会新建一个docsxyz目录。
查看打包文件
查看打包文件docsxyz.tar中的内容,"-t"仅显示文件名,"v"参数则会显示文件详细信息。
tar -tf docsxyz_backup.tar
#详细信息
tar -vf docsxyz_backup.tar
解压打包文件
解压打包文件docsxyz.tar到当前目录,并显示文件信息。
#解压打包文件
tar -xvf docsxyz_backup.tar
常见打包压缩算法
压缩算法如下:
#Tar
#解包
tar -xvf docsxyz.tar
#打包
tar -cvf docsxyz.tar /docsxyz
#.gz
#解压
gunzip docsxyz.gz
gzip -d docsxyz.gz
#.tar.gz和.tgz
#解压
tar -zxvf docsxyz.tar.gz
#压缩
tar -czvf docsxyz.tar.gz /docsxyz
#.gz2
#解压
bzip2 -d docsxyz.bz2
bunzip2 docsxyz.bz2
#压缩
bzip2 -z docsxyz
#.tar.bz2
#解压
tar -jxvf docsxyz.bz2
#压缩
tar -cjvf docsxyz.tar.bz2 /docsxyz
#.Z
#解压
uncompress docsxyz.Z
#压缩
compress docsxyz
#.tar.Z
#解压
tar -Zxvf docsxyz.tar.Z
#压缩
tar -cZvf docsxyz.tar.Z /docsxyz
#.zip
#解压
unzip docsxyz.zip
#压缩
zip docsxyz.zip /docsxyz
#.rar
#解压
rar x docsxyz.rar
#压缩
rar a docsxyz.rar /docsxyz