Mythsman


乐极生悲,苦尽甘来。


tar命令基本用法

Linux里文件压缩解压打包神马的还是很有用的,比如要向服务器上传一堆小东西(特别像网站的移植),挨个上传的话会特别特别的慢。这时候用一个打包命令来处理就尤为重要了。实际上这类的命令有很多(比如 cpio命令,lzma命令,gunzip命令,bunzip命令等等),但是最常用的还是今天介绍的tar命令。

首先介绍一些比较常见的用法,就是什么打包,解包,压缩,解压缩这些的一般晓得这些用法就够用了。

打包命令

tar -cvf [生成的文件] [需打包的文件1] [需打包的文件2] [需打包的文件3]...

需要说明的是这里的生成文件一般.tar结尾以让人分辨出这是个包包(特殊目的除外)。

很自然的问题是,这里带了一个-cvf参数,这是什么呢?

其实-cvf并不是一个参数,而是三个参数:

-c [--create]   表示创建新的归档文件(很明显这是很必要的,要不然电脑怎么知道你是要打包还是要解包呢?)

-v [--verbose] 显示命令的执行过程(实际上就显示下包里的文件,不是特别必要,但习惯还是写了)

-f [--file=]  指定备份文件名或设备(当然是必须的,否则怎么知道打包到哪里,这里需要注意的是,f参数后面一定是紧跟这生成的文件名的,即他必须是所有选项的最后一个)

打包基本就是这样了。

压缩命令

需要注意的是,用tar命令打包生成的文件其实只是一个包,数据并没有得到压缩。真正的压缩文件应该是需要一个压缩参数的:

用gzip压缩格式进行压缩:
tar -zcvf [生成的文件] [需打包的文件1] [需打包的文件2] [需打包的文件3]...
-z [--gzip, --gunzip, --ungzip]  使用gzip命令处理备份文件(这时候需要注意的就是生成文件最好要以.tar.gz结尾,让人晓得你这是用啥压缩的,人家好用相应的命令解压)

用bzip压缩格式进行压缩:
tar -jcvf [生成的文件] [需打包的文件1] [需打包的文件2] [需打包的文件3]...
-j [--I --bzip ]  使用bzip2命令处理备份文件(通常以.tar.bz2结尾)

解包命令

tar -xvf [生成的文件] [包包]

我们把打包命令的-c参数换成-x参数就可以了。

-x [--extract, --get] 从归档文件中解析文件(用法和-c一致)

解压命令

与两种压缩方式对应的就是两种解压方式喽~

tar -zxvf [生成的文件] [包包]

tar -jxvf [生成的文件] [包包]

查看包包的命令

当我们想看看包里有啥却不想解压包包的时候我们可以用-t参数:

tar -tvf [你的包包]

-t [--list] 列出归档文件内容目录(-t 参数和-c 以及-x 参数是互斥的,前面也可以搭配-z -j之类的压缩参数,这一点视情况而定)

指定解压文件夹

tar命令的解压地址实际上是按照相对路径来的,如果非得用绝对路径的话,需要加上-C参数来指定绝对路径:

tar -zxvf /tmp/etc.tar.gz -C /tmp


以上就是tar命令的基础用法,当然,tar命令还有很多高级用法,不过一般用的比较少了,这里就不详细说了,以后需要用到就去翻文档吧。