登录  /  注册
首页 > php教程 > PHP开发 > 正文

linux系统上怎么从tar包里解压单个文件

高洛峰
发布: 2016-12-19 14:19:45
原创
1430人浏览过

首先我创建了一个tar包:
[oracle@goolen test]$ ls -l
total 80084
-rw-r--r-- 1 oracle oinstall 81998360 jul 30 09:52 test.tar.gz

我们要想解压tar包中一个文件,就需要先知道这个tar包里都有什么些文件:
[oracle@goolen test]$ tar --help | more
usage: tar [option...] [file]...
gnu `tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.

examples:
  tar -cf archive.tar foo bar  # create archive.tar from files foo and bar.
  tar -tvf archive.tar         # list all files in archive.tar verbosely.
  tar -xf archive.tar          # extract all files from archive.tar.
  
-t, --list                 list the contents of an archive

-t参数可以列出tar包里的所有文件:
[oracle@goolen test]$ tar -tvf test.tar.gz       
drwxr-xr-x oracle/oinstall   0 2014-06-24 09:48 home/oracle/xiaoming/bbed/
-rw-r--r-- oracle/oinstall 18432 2014-04-25 09:18 home/oracle/xiaoming/bbed/bifile.bbd
-rw-r--r-- oracle/oinstall   402 2014-04-17 15:35 home/oracle/xiaoming/bbed/filelist.txt.bk
-rw-r--r-- oracle/oinstall 5251072 2014-04-14 15:07 home/oracle/xiaoming/bbed/users01.dbf
-rw-r--r-- oracle/oinstall 524296192 2014-04-17 15:45 home/oracle/xiaoming/bbed/undotbs02.dbf
-rw-r--r-- oracle/oinstall       207 2014-06-24 09:48 home/oracle/xiaoming/bbed/filelist.txt
-rw-r--r-- oracle/oinstall     67246 2014-06-24 10:24 home/oracle/xiaoming/bbed/log.bbd
-rw-r--r-- oracle/oinstall        47 2013-10-17 17:52 home/oracle/xiaoming/bbed/bbed.par

[oracle@goolen test]$ tar ztf test.tar.gz 
home/oracle/xiaoming/bbed/
home/oracle/xiaoming/bbed/bifile.bbd
home/oracle/xiaoming/bbed/filelist.txt.bk
home/oracle/xiaoming/bbed/users01.dbf
home/oracle/xiaoming/bbed/undotbs02.dbf
home/oracle/xiaoming/bbed/filelist.txt
home/oracle/xiaoming/bbed/log.bbd
home/oracle/xiaoming/bbed/bbed.par

查看一下可以知道以上命令并没有实际解压tar包:
[oracle@goolen test]$ ls
test.tar.gz

+++解压bbed.par这个文件
[oracle@goolen test]$ tar zxfv test.tar.gz /home/oracle/xiaoming/bbed/bbed.par
tar: /home/oracle/xiaoming/bbed/bbed.par: not found in archive
tar: exiting with failure status due to previous errors
[oracle@goolen test]$ ls
test.tar.gz
[oracle@goolen test]$ tar zxfv test.tar.gz home/oracle/xiaoming/bbed/bbed.par 
home/oracle/xiaoming/bbed/bbed.par

+++注意,tar命令后面接的是-t参数list出来的文件路径,前面不要再加一个“/”,否则就报错了

查看解压出来的文件,我们可以看到,连同文件所在的路径也一起创建了,也不是把文件解压到当前目录下,连同目录一起创建应该是为了避免同名文件被覆盖的危险吧。
[oracle@goolen test]$ ls
home  test.tar.gz
[oracle@goolen test]$ ls home/oracle/xiaoming/bbed/bbed.par 
home/oracle/xiaoming/bbed/bbed.par

更多 linux系统上怎么从tar包里解压单个文件 相关文章请关注PHP中文网!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号