1.tar命令详解使用
格式: tar 选项 文件目录列表
功能: 对文件目录进行打包备份选项:
-c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
可以这样记忆,创建新的文件是c,追加在原有文件上用r,从文件中解压出用x
-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
注: -j 使用bzip2 进行压缩和解压
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
例子:
1.将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz,我们可以使用
tar czvf this.tar.gz ./*.txt
2.将当前目录下的this.tar.gz中的文件解压到当前目录我们可以使用
tar xzvf this.tar.gz ./
2.如何把tar.gz格式文件解压到指定目录?
格式 :#tar zxvf *.tar.gz -C 您想指定的目录。一个简单例子:比如把kleandisk-2.1.tar.gz解压后,释放到/home/cao目录下。可以这样:
#tar zxvf kleandisk-2.1.tar.gz -C /home/cao
3.文件的切分split
1.tar结合splittar -jcf - aa | split -b 1k -d -a 3 - aa.tar.bz2
ll -thr
total 96K
-rw-r--r-- 1 root root 9.1K Feb 23 10:10 aa
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2009
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2008
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2007
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2006
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2005
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2004
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2003
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2002
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2001
-rw-r--r-- 1 root root 1.0K Feb 23 11:00 aa.tar.bz2000
tar -zcf - aa | split -b 1k -d -a 3 - aa.tar.gz
ll -thr
total 96K
-rw-r--r-- 1 root root 9.1K Feb 23 10:10 aa
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz009
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz008
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz007
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz006
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz005
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz004
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz003
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz002
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz001
-rw-r--r-- 1 root root 1.0K Feb 23 11:03 aa.tar.gz000
解压
cat aa.tar.bz200* | tar -jx
cat aa.tar.gz00* | tar -zx
=======================================================
参数介绍
"-jcf" 参数是创建(c)文件(f)并调用bzip2进行压缩(j)
"-"是将所创建的文件输出到标准输出上
"|"管道输出给 split 命令进行文件分割
"-b" n[bkm] 以体积为单位的拆分,约定每拆分后每个文件的大小 ,b代表512B,k代表1KB,m代表1MB
"-d" 参数指定为数字的形式
"-a x"来设定序列的长度(默认值是2)
大家也可以用"z"代替"j"参,这样tar就会调用gzip进行压缩,而不是bzip2,当然,如果你用了"z"参数,记得将输出的文件名中的"bz2"改为"gz"