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

 

rss_feed