tar是一款经典的打包程序,用于将多个文件进行打包存储,tar设计之初就是为了方便将文件存储与磁带上,tar这个名字就是由此而来,表示Tape Archiver。
tar可以方便的对多个文件进行打包处理,也可对已经打包好的文件(.tar文件)进行查看增补等操作。
人们通常在打包完成后,还会进行压缩操作,使用tar我们可以方便的将打包压缩两个操作合二为一,一次性输出压缩后的结果。
tar最常用的四个参数
适用tar时,后面的参数可以分别写,也可以写在一起,即tar -cf name
和tar -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.gztar -cjf archive.tar.bz2 *.png
打包所有png文件并使用bzip2压缩为archive.tar.bz2tar -cZf archive.tar.Z *.png
打包所有png文件并使用compress压缩为archive.tar.Ztar -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