我们常用如下命令打包压缩和解压缩
打包且压缩
tar -zcvf test.tar.gz test
解压缩
tar -zxvf test.tar.gz test
虽然 gzip 与 bzip2 也能够针对目录来进行压缩, 不过,这两个命令对目录的压缩指的是『将目录内的所有文件 "分别" 进行压缩』的动作! 而不像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据『包成一个文件』的样式。
这种将多个文件或目录包成一个大文件的命令功能,我们可以称呼他是一种『打包命令』啦! 那 Linux 有没有这种打包命令呢?是有的!那就是鼎鼎大名的 tar 这个玩意儿了! tar 可以将多个目录或文件打包成一个大文件,同时还可以透过 gzip/bzip2 的支持,将该文件同时进行压缩! 更有趣的是,由於 tar 的使用太广泛了,目前 Windows 的 WinRAR 也支持 .tar.gz 档名的解压缩呢!
1、 我们常用 tar 和 zip的区别
tar 其实是打包的意思,但是加了参数之后就可以打包并且压缩
zip就是纯粹的压缩了
打包:是指将一大堆文件或目录变成一个总的文件。压缩:则是将一个大文件通过压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)
tar
只能从多个文件中制作一个文件,除非组合了诸如gzip
或bzip2
(可以分别tar
使用-z
或-j
选项从内部调用)压缩程序,否则它不会进行压缩
打包和压缩
tar -cvf test.tar test 只是打包不压缩
tar -zcvf test.tar.gz test 打包,且压缩。-z
参数表示以 .tar.gz
或者 .tgz
后缀名代表 gzip 压缩过的 tar 包。
tar -jcvf test.tar.bz2 test 打包,且压缩。-j
参数表示以 .tar.bz2
后缀名作为tar包名。
解压缩
tar -zxvf test.tar.gz test
2、tar命令
打包:tar cvf arch.tar arch
解包压:tar xvf arch.tar
常用选项:
c:创建一个新的tar文件
t:列出tar文件中的内容的目录
x:从tar文件中抽取文件
f:指定归档文件或磁带
v: 显示操作过程
z: --gzip 调用gzip功能
j: --bzip2 调用bzip2压缩