首页 > 电脑教程 > Linux教程 > 指定解压tar包中的某个文件夹或者文件

指定解压tar包中的某个文件夹或者文件

小编:动力软件园 时间:2018-06-26 11:21:05

在日常运维中经常进行打包压缩备份文件,一个文件夹往往都是很大很大,每次下载下来解压缩都累死了。没有呀不解压tar包就可以解压其中的某一个文件呢,当然有了。


我们先来看一下压缩的过程:注意加粗功能


解压
语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2  

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

--exclude FILE:在压缩的过程中,不要将 FILE 打包!


范例:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz


# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

# 就得要加上 z 这个参数了!这很重要的!

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz |grep 'abc.txt'

有这个文件了,你才能解压,对不。

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz /lujing/abc.txt

来个实例:

[root@localhost virtualWeb]# tar -zcvf abc.tar.gz abc/
abc/
abc/robots.txt
abc/sitemap.txt
[root@localhost virtualWeb]# tar -ztvf abc.tar.gz | grep 'robots.txt'
-rw-r--r-- root/root       211 2012-09-03 11:44 abc/robots.txt
[root@localhost virtualWeb]# tar -zxvf abc.tar.gz abcd/robots.txt
tar: abcd/robots.txt: Not found in archive
tar: Exiting with failure status due to previous errors
[root@localhost virtualWeb]# tar -zxvf abc.tar.gz abc/robots.txt
abc/robots.txt
[root@localhost virtualWeb]#

注意只能填写压缩包中文件的路径abc/robots.txt,而不是随意指定一个路径,不然会报找不到文档的错误Not found in archive
。不会影响sitemap.txt文件。

相关阅读
排行榜
易学车老版本

易学车老版本

实用工具 下载
天行健安卓版 v2.35770

天行健安卓版 v2.35770

手游软件 下载
三星PC套件 samsung kies 官方正式版 3.2.15041.2

三星PC套件 samsung kies 官方正式版 3.2.15041.2

手机工具 下载