linux命令--tar

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

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。


1.命令格式:

tar[必要参数][选择参数][文件] 


2.命令功能:

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的


3.命令参数:
必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
可选参数如下:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息


4.打包用法 
# tar -cf all.tar *.jpg 
这条命令是将所有.jpg的文件打成一个名为all.tar的包。


# tar -rf all.tar *.gif 
这条命令是将所有.gif的文件增加到all.tar的包里面去。


# tar -uf all.tar logo.gif 
这条命令是更新原来tar包all.tar中logo.gif文件。


# tar -tf all.tar 
这条命令是列出all.tar包中所有文件。
  
# tar -xf all.tar 
这条命令是解出all.tar包中所有文件。
 
以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压 
文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压 
缩程序,比如调用gzip、bzip2等。 
  

5.压缩解压用法


1.zip
  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参 
数选项很多,这里只做简单介绍,依旧举例说明一下其用法: 
# zip all.zip *.jpg 
  这条命令是将所有.jpg的文件压缩成一个zip包 
# unzip all.zip 
  这条命令是将all.zip中的所有文件解压出来 


2.tar调用gzip解压tar.gz 
  gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip 
相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。

# tar -zcf all.tar.gz *.jpg 
这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个 
gzip压缩过的包,包名为all.tar.gz 


# tar -zxf all.tar.gz 

这条命令是将上面产生的包解开。 


tips:我最常用的就两种压缩zip和tar.gz,zip就是zip和unzip,tar.gz的解压就是zxvf,压缩就是zcvf。其中zxcv就是键盘左下角的四个,容易记。其中v



3.tar调用bzip2解压tar.bz2
bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。 
与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例 
说明一下: 


# tar -cjf all.tar.bz2 *.jpg 这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个 
bzip2压缩过的包,包名为all.tar.bz2 


# tar -xjf all.tar.bz2 
这条命令是将上面产生的包解开。 


4.tar调用compress解压tar.Z
compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人 
多。.Z结尾的文件就是bzip2压缩的结果。与 compress相对的解压程序是uncompress 
。tar中使用-Z这个参数来调用compress。下面来举例说明一下: 


# tar -cZf all.tar.Z *.jpg 
这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成 
一个uncompress压缩过的包,包名为all.tar.Z 


# tar -xZf all.tar.Z 
这条命令是将上面产生的包解开 


有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文 
件作一个小结: 

1)对于.tar结尾的文件 
tar -xf all.tar 
2)对于.gz结尾的文件 
  gzip -d all.gz 
  gunzip all.gz 
3)对于.tgz或.tar.gz结尾的文件 
  tar -xzf all.tar.gz 
  tar -xzf all.tgz 
4)对于.bz2结尾的文件 
  bzip2 -d all.bz2 
  bunzip2 all.bz2 
5)对于tar.bz2结尾的文件 
  tar -xjf all.tar.bz2 
6)对于.Z结尾的文件 
  uncompress all.Z 
7)对于.tar.Z结尾的文件 
  tar -xZf all.tar.z 




猜你喜欢

转载自blog.csdn.net/majianfei1023/article/details/51065534
今日推荐