学习啦>学习电脑>操作系统>Linux教程>

linux中的tar命令(2)

佳洲分享

  实例4:只将 /tar 内的 部分文件解压出来

  命令:

  tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

  输出:

  [root@localhost test]# tar -zcvf log30.tar.gz log2012.log log2013.log

  log2012.log

  log2013.log

  [root@localhost test]# ls -al log30.tar.gz

  -rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz

  [root@localhost test]# tar -zxvf log30.tar.gz log2013.log

  log2013.log

  [root@localhost test]# ll

  -rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz

  [root@localhost test]# cd test3

  [root@localhost test3]# tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

  log2013.log

  [root@localhost test3]# ll

  总计 4

  -rw-r--r-- 1 root root 61 11-13 06:03 log2013.log

  [root@localhost test3]#

  说明:

  我可以透过 tar -ztvf 来查阅 tar 包内的文件名称,如果单只要一个文件,就可以透过这个方式来解压部分文件!

  实例5:文件备份下来,并且保存其权限

  命令:

  tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log

  输出:

  [root@localhost test]# ll

  总计 0

  -rw-r--r-- 1 root root 0 11-13 06:03 log2014.log

  -rw-r--r-- 1 root root 0 11-13 06:06 log2015.log

  -rw-r--r-- 1 root root 0 11-16 14:41 log2016.log

  [root@localhost test]# tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log

  log2014.log

  log2015.log

  log2016.log

  [root@localhost test]# cd test6

  [root@localhost test6]# ll

  [root@localhost test6]# tar -zxvpf /opt/soft/test/log31.tar.gz

  log2014.log

  log2015.log

  log2016.log

  [root@localhost test6]# ll

  总计 0

  -rw-r--r-- 1 root root 0 11-13 06:03 log2014.log

  -rw-r--r-- 1 root root 0 11-13 06:06 log2015.log

  -rw-r--r-- 1 root root 0 11-16 14:41 log2016.log

  [root@localhost test6]#

  说明:

  这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时

  实例6:在 文件夹当中,比某个日期新的文件才备份

  命令:

  tar -N "2012/11/13" -zcvf log17.tar.gz test

  输出:

  [root@localhost soft]# tar -N "2012/11/13" -zcvf log17.tar.gz test

  tar: Treating date `2012/11/13' as 2012-11-13 00:00:00 + 0 nanoseconds

  test/test/log31.tar.gz

  test/log2014.log

  test/linklog.log

  test/log2015.log

  test/log2013.log

  test/log2012.log

  test/log2017.log

  test/log2016.log

  test/log30.tar.gz

  test/log.tar

  test/log.tar.bz2

  test/log.tar.gz

  说明:

  实例7:备份文件夹内容是排除部分文件

  命令:

  tar --exclude scf/service -zcvf scf.tar.gz scf/*

  输出:

  [root@localhost test]# tree scf

  scf

  |-- bin

  |-- doc

  |-- lib

  `-- service

  `-- deploy

  |-- info

  `-- product

  7 directories, 0 files

  [root@localhost test]# tar --exclude scf/service -zcvf scf.tar.gz scf/*

  scf/bin/

  scf/doc/

  scf/lib/

  [root@localhost test]#

  扩展资料:linux中的其他常见的压缩解压缩命令

  tar

  解包:tar xvf FileName.tar

  打包:tar cvf FileName.tar DirName

  (注:tar是打包,不是压缩!)

  .gz

  解压1:gunzip FileName.gz

  解压2:gzip -d FileName.gz

  压缩:gzip FileName

  .tar.gz 和 .tgz

  解压:tar zxvf FileName.tar.gz

  压缩:tar zcvf FileName.tar.gz DirName

  .bz2

  解压1:bzip2 -d FileName.bz2

  解压2:bunzip2 FileName.bz2

  压缩: bzip2 -z FileName

  .tar.bz2

  解压:tar jxvf FileName.tar.bz2

  压缩:tar jcvf FileName.tar.bz2 DirName

  .bz

  解压1:bzip2 -d FileName.bz

  解压2:bunzip2 FileName.bz

  压缩:未知

  .tar.bz

  解压:tar jxvf FileName.tar.bz

  压缩:未知

  .Z

  解压:uncompress FileName.Z

  压缩:compress FileName

  .tar.Z

  解压:tar Zxvf FileName.tar.Z

  压缩:tar Zcvf FileName.tar.Z DirName

  .zip

  解压:unzip FileName.zip

  压缩:zip FileName.zip DirName

  .rar

  解压:rar x FileName.rar

  压缩:rar a FileName.rar DirName

3626346