2019-08-20浏览量:227

使用tar归档命令,就不怕文件多!

通过SSH访问服务器,难免会要用到压缩、解压缩、打包、解包等,这时候tar命令就是必不可少的一个功能强大的工具。linux中最流行的tar是麻雀虽小,五脏俱全,功能强大。

 

tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。 

 

首先要弄清两个概念:归档和压缩。

归档的含义 : 将许多零散的文件整理为一个文件 ,文件的大小基本不变。

压缩的含义 : 按某种算法减小文件所占用空间的大小。

 

好了,进入今天的分享吧

 

 

一. 常见参数

# 1、打包/解包

-c 创建参数:当需要创建文件时必须加这个参数。
-x 解包参数:当需要解包文件时必须加这个参数,这个参数不能和-c同时出现。

 

# 2、压缩/解压

-z 文件格式参数:在压缩/解压文件时,这个参数对应tar.gz为后缀的文件,即需要解压/压缩为tar.gz格式的文件时要加这个参数。
-j 文件格式参数:在压缩/解压文件时,这个参数对应tar.bz2为后缀的文件,即需要解压/压缩为tar.bz2格式的文件时要加这个参数。
-J 文件格式参数:在压缩/解压文件时,这个参数对应tar.xz为后缀的文件,即需要解压/压缩为tar.xz格式的文件时要加这个参数。

 

# 其他一些常用参数

-v 显示(打印在控制台)出正在处理的文件名(类似于进度条)
-f 文件名参数,后面直接跟要解压/压缩成的文件名
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件

 

 

二. 几个实例

为例子创建若干个空白文件

 

[python@localhost ~/tar_test]$ touch file{1..10}.pdf
[python@localhost ~/tar_test]$ touch file{1..10}.png

 

1、创建归档文件

• -c:表示创建新包,-v:显示过程, -f:指定包的文件名

 

[python@localhost ~/tar_test]$ tar -cf all.tar *.pdf

 

• -z:指增加gz压缩

 

[python@localhost ~/tar_test]$ tar -czf all.tar.gz *.pdf

 

2、解包归档文件

• -x:表示解压,-v:显示过程 ,-f:定包的文件名

• -C:指定解压后的文件路径。默认是当前路径

 

[python@localhost ~/tar_test]$ tar -xvf all.tar -C ~/tar_test/aa

 

3、归档文件的增删改查

• 查看打包内的内容

 

[python@localhost ~/tar_test]$ tar -tf all.tar

 

• 向已经创建的包内添加文件

 

[python@localhost ~/tar_test]$ tar -rf all.tar file9.png

 

• 向一个包all.tar内添加另一个包all_B.tar的内容

 

[python@localhost ~/tar_test]$ tar -Af all.tar all_B.tar

 

• 删除包内的文件

 

[python@localhost ~/tar_test]$ tar -f all.tar --delete file10.pdf file1.pdf

 

• 修改包all.tar内某文件file10.pdf,并更新包

 

[python@localhost ~/tar_test]$ echo "hello world" >> file1.pdf
[python@localhost ~/tar_test]$ tar -uf all.tar file1.pdf

 

• 释放包内特定文件file10.pdf

 

[python@localhost ~/tar_test]$ tar -xvf all.tar file10.pdf

注意:这里只举例说明tar,其实增加-z,-j, -J参数也是适用的。

 

4、关于压缩包

4.1 .tar.gz 或.tgz

• 调用gzip实现压缩

 

[python@localhost ~/tar_test]$ tar -zcvf  pdf.tar.gz *.pdf

 

• 查看压缩包的内容

 

[python@localhost ~/tar_test]$ tar -tvf pdf.tar.gz

 

• 解压到指定文件

 

[python@localhost ~/tar_test]$ tar -zxvf pdf.tar.gz -C aa

 

4.2 .tar.bz2 或.tbz2

• 调用bzip2实现压缩

 

[python@localhost ~/tar_test]$ tar -jcvf pdf.tar.bz2 aa/*.pdf

 

• 解压到指定文件

 

[python@localhost ~/tar_test]$ tar -jxvf pdf.tar.bz2 -C bb

 

4.3 .tar.xz

• 调用xz实现压缩

 

[python@localhost ~/tar_test]$ tar -Jcvf pdf.tar.xz aa/*.pdf

 

• 解压到指定文件

 

[python@localhost ~/tar_test]$ tar -jxvf pdf.tar.xz -C cc

 

今日份的分享结束啦

希望你喜欢tar命令的这几个不同的示例
欢迎评论并分享你的心得

下一期我们再会

 

下一篇