tar命令详解使用

1.tar命令详解使用

格式: tar 选项 文件目录列表

功能: 对文件目录进行打包备份
选项:
-c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
可以这样记忆,创建新的文件是c,追加在原有文件上用r,从文件中解压出用x

-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作 ---似乎一直都要用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结合split
tar -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"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值