每天一个Linux命令-tar命令

tar命令可以为linux的文件和目录创建档案。

利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。
打包: 指将一大堆文件或目录变成一个总的文件。
压缩: 将一个大的文件通过一些压缩算法变成一个小文件。

#常用命令选项
-c    打包
-x    解包解压缩
-t    查看
-v    显示详细信息
--exclude    排除
-C    指定目录
-k    don't replace existing files when extracting,(有已存在的文件不会被覆盖,并且解压不会中断,只是提示)
-P    使用绝对路径,打包的时候从哪里打包解压的就会解压到哪个目录       

#3种压缩格式,压缩率从低到高#一般选用bzib2足已,xz压缩率高但是压缩速度偏慢
-z    gzip
-j    bzib2
-J    xz

示例
打包: 将当前目录下的三个文件,test、test1、test.go打包成test.tar
    tar -cvf test.tar test test1 test.go

压缩: 
 tar -cvjpf test.tar.bz2 test test1 test.go
//-c为创建一个打包文件,相应的-f后面接创建的文件的名称,使用了.tar.bz2后缀,-j标志使用bzip2压缩,最后面为具体的操作对象/etc目录 
查看:
 tar -tvjf test.tar.bz2  
//-t为查看操作,则-f对应所查看的文件的名称,文件后缀显示使用bzip2进行压缩,所以加入-j选项,-v会显示详细的权限信息 

解压
 tar -xvjf test.tar.bz2  
//-x为解压操作,则-f指定的是解压使用的文件,文件后缀显示使用bzip2进行压缩,所以加入-j选项,即使用bzip2解压                   
//若只解压指定打包文件中的一个文件,在上述指令的最后加上带解压文件名作为参数即可

下面可以看到打包跟用不同方式压缩之后文件的大小也不一样

vagrant@ubuntu:~$ ll
-rw-rw-r-- 1 vagrant vagrant  10240 Nov 19 07:23 test.tar
-rw-rw-r-- 1 vagrant vagrant    255 Nov 19 07:26 test.tar.bz2
-rw-rw-r-- 1 vagrant vagrant    127 Nov 13 09:13 test.tar.gz


文章已完
作者心情:昨夜西风凋碧树,独上高楼,望尽天涯路。
如无特殊说明,文章均为本站原创,转载请注明出处