一、名词解释
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
二、tar语法
语法结构:tar [主选项+辅选项] 文件或目录
使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:【一条命令以下5个参数只能有一个】
-c: --create 新建一个压缩文档,即打包
-x: --extract,–get解压文件
-t: --list,查看压缩文档里的所有内容
-r:–append 向压缩文档里追加文件
-u:–update 更新原压缩包中的文件
辅助选项:
-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:显示操作过程!这个参数很常用
-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!
-C:切换到指定目录
–exclude FILE:在压缩过程中,不要将FILE打包
三、例子
1、打包和压缩
习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
将img1和img2两个文件夹打包成img.tar,仅打包不压缩
tar -cvf img.tar img1 img2
将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩
tar -zcvf img.tar.gz img1 img2
将img1和img2两个文件夹打包成img.tar.bz2,打包后,以bzip2来压缩
tar -jcvf img.tar.bz2 img1 img2
2、不解压的情况下查看
查看img.tar中的所有内容
tar -tf img.tar
查看img.tar.gz的所有内容, 加-v参数查看详细信息,-z可有可无
tar -tf img.tar.gz
tar -ztf img.tar.gz
tar -ztvf img.tar.gz
查看img.tar.bz2内容, 加-v参数查看详细信息,-j可有可无
tar -tf img.tar.bz2
tar -jtf img.tar.bz2
tar -jtvf img.tar.bz2
3、解压
将img.tar减压到temp目录
[root@localhost ~]# cd temp/
[root@localhost tmp]# ls
[root@localhost tmp]# tar -xf ../img.tar
[root@localhost tmp]# ls
img1 img2
只减压img.tar中的img1
[root@localhost ~]# tar -xf ../img.tar img1
[root@localhost ~]# ls
img1
4、追加
img.tar里追加一个文件夹img3
[root@localhost tmp]# tar -rf img.tar img3
三、解压方法总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar x 解压
9、*.zip 用 unzip 解压
使用unrar注意:
先安装unrar,使用unrar不带参数运行一下就可以看到帮助信息。
如果一个文件s.rar,里面有1000首歌,用e参数,就直接把1000首歌全减压出来到当前目录。
如果是x参数,解压后,所有内容都放在同名的文件夹里面。