tar使用详解

tar是一款经典的打包程序,用于将多个文件进行打包存储,tar设计之初就是为了方便将文件存储与磁带上,tar这个名字就是由此而来,表示Tape Archiver。

tar可以方便的对多个文件进行打包处理,也可对已经打包好的文件(.tar文件)进行查看增补等操作。

人们通常在打包完成后,还会进行压缩操作,使用tar我们可以方便的将打包压缩两个操作合二为一,一次性输出压缩后的结果。

tar最常用的四个参数

适用tar时,后面的参数可以分别写,也可以写在一起,即tar -cf nametar -c -f=name效果相同。

  • 创建新的tar包 -c 或者 --create
  • 查看tar包内容 -t 或者 --list
  • 从tar包提取内容 -x 或者 --extract
  • 指定tar文件名 -f archive-name 或者 --file=archive-name
  • 显示操作详情 -v 或者 --verbose

tar打包常用操作实例

  • tar打包文件
$tar -cf t.tar document.docx sheets.xlsx text.txt
  • tar查看内容
$ tar -tf t.tar
document.docx
sheets.xlsx
text.txt
  • tar提取内容
## 提取t.tar包内容
tar -xf t.tar  

## 提取t.tar包中指定的文件text.txt,注意这里必须用参数全名,不能用简写
tar --extract --file=t.tar text.txt

tar打包压缩

tar可以在打包时同时条用压缩程序压缩文档,支持多种压缩程序,如:gzip, bzip2, lzip, lzma, lzop, zstd, xz和compress。

创建压缩文件直接在打包时附带对应的参数即可,常用参数和对应程序格式如下,如果没有指定具体参数,tar可以刻根据文件名后缀来进行调用压缩。

参数长格式 参数简写 压缩类型 文件后缀
–gzip -z gzip .gz .tgz .taz
–bzip2 -j bzip2 .bz2 .tz2 .tbz2 .tbz
–xz -J xz .xz
–lzip lzip .lz
–lzma lzma .lzma .tlz
–lzop lzop .lzo
–zstd zstd .zst .tzst
–compress -Z compress .Z .taZ

tar压缩解压缩实例

  • 压缩
    • tar -czf archive.tar.gz *.png打包所有png文件并使用gzip压缩为archive.tar.gz
    • tar -cjf archive.tar.bz2 *.png 打包所有png文件并使用bzip2压缩为archive.tar.bz2
    • tar -cZf archive.tar.Z *.png打包所有png文件并使用compress压缩为archive.tar.Z
    • tar -cJf archive.tar.xz *.png打包所有png文件并使用xz压缩为archive.tar.xz
  • 解压
    • tar -xzf archive.tar.gz
    • tar -xjf archive.tar.bz2
    • tar -xZf archive.tar.Z
    • xz -dk archive.tar.xz
发布于