一、tar:从压缩包中解压出指定文件

[root@d176 test]# tar ztf nrpe-2.12.tar.gz |grep src
nrpe-2.12/src/
nrpe-2.12/src/.cvsignore
nrpe-2.12/src/Makefile.in
nrpe-2.12/src/check_nrpe.c
nrpe-2.12/src/nrpe.c
nrpe-2.12/src/snprintf.c
nrpe-2.12/src/utils.c
[root@d176 test]# tar zxvf nrpe-2.12.tar.gz nrpe-2.12/src        //解压
nrpe-2.12/src/
nrpe-2.12/src/.cvsignore
nrpe-2.12/src/Makefile.in
nrpe-2.12/src/check_nrpe.c
nrpe-2.12/src/nrpe.c
nrpe-2.12/src/snprintf.c
nrpe-2.12/src/utils.c
[root@d176 test]# ls
bijiao httpd.conf.bak_2015-07-12 locl nrpe-2.12 nrpe-2.12.tar.gz server.xml txt
[root@d176 test]# ls nrpe-2.12
src
[root@d176 test]# ls nrpe-2.12/src/
check_nrpe.c Makefile.in nrpe.c snprintf.c utils.c

[root@d176 test]# tar zxvf nrpe-2.12.tar.gz nrpe-2.12/src -C /root/hhhhhhhhhh/         //指定-C参数不行
nrpe-2.12/src/
nrpe-2.12/src/.cvsignore
nrpe-2.12/src/Makefile.in
nrpe-2.12/src/check_nrpe.c
nrpe-2.12/src/nrpe.c
nrpe-2.12/src/snprintf.c
nrpe-2.12/src/utils.c

或另外一种方式=============>

[root@d176 hhhhhhhhhh]# tar  zxvf  /root/test/nrpe-2.12.tar.gz nrpe-2.12/src          //进入到要解压的目标目录
nrpe-2.12/src/
nrpe-2.12/src/.cvsignore
nrpe-2.12/src/Makefile.in
nrpe-2.12/src/check_nrpe.c
nrpe-2.12/src/nrpe.c
nrpe-2.12/src/snprintf.c
nrpe-2.12/src/utils.c
[root@d176 hhhhhhhhhh]# ls
nrpe-2.12
[root@d176 hhhhhhhhhh]# ls nrpe-2.12/
src
[root@d176 hhhhhhhhhh]# ls nrpe-2.12/src/
check_nrpe.c Makefile.in nrpe.c snprintf.c utils.c

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二、tar:-C参数.

也可以排除目录与文件一起混合使用,如:

[root@lee ~]# tar -cvf test.tgz test/ --exclude dir1 --exclude a.log --exclude *.jpg
test/
test/b.txt
test/dir2/
test/b.log
test/a.txt

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

三、tar:压缩解压排除指定文件/目录/文件类型等.

问题:在/home/usr1目录下,想要打包/home/usr2目录中的文件file2,应该使用什么样的tar命令?

解答1:
$ tar -cvf file2.tar /home/usr2/file2
tar: Removing leading '/' from members names
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
$ tar -xvf file2.tar
$ ls
…… …… home …… …… 
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。

解答2:
$ tar -cvf file2.tar -C /home/usr2 file2
该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前。
使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
$ tar -xvf file2.tar -C /home/usr2
而tar不用-C dir参数时是无法做到的:
$ tar -xvf file2.tar /home/usr2
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors

tar命令的实用详解(C参数和排除文件 --exclude)的更多相关文章

  1. Linux常用命令及部分详解

    1.总结部分 常用指令 ls      显示文件或目录 -l            列出文件详细信息l(list) -a            列出当前目录下所有文件及目录,包括隐藏的a(all) m ...

  2. 每周一个linux命令之---uptime详解

    每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...

  3. telnet 命令使用方法详解,telnet命令怎么用

    telnet 命令使用方法详解,telnet命令怎么用? 文章类型:电脑教程 原创:天诺时空   什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协 ...

  4. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  5. IP命令的用法详解

    IP命令的用法详解 原创 2017-06-29 10:02:34 0932 摘自:http://www.php.cn/linux-371363.html ip命令是Linux下较新的功能强大的 ...

  6. ping命令执行过程详解

    [TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...

  7. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  8. 【linux】linux命令grep + awk 详解

    linux命令grep  +  awk 详解 grep:https://www.cnblogs.com/flyor/p/6411140.html awk:https://www.cnblogs.com ...

  9. nginx的proxy模块详解以及参数

    文章来源 运维公会:nginx的proxy模块详解以及参数 使用nginx配置代理的时候,肯定是要用到http_proxy模块.这个模块也是在安装nginx的时候默认安装.它的作用就是将请求转发到相应 ...

随机推荐

  1. Django_ KindEditor 插件使用

    KindEditor  富文本编辑器插件 目的及原理: 更便捷的在前端页面上实现用户的文本编辑操作, 本质上就是对标签的样式进行封装和事件预处理, 常规操作都可以通过直接的引入即可实现, 但是对于存在 ...

  2. 以太坊 链私有链环境搭建(windows)

    摸索以太坊区块链技术几个月了.最近打算逐步的把自己学到的东西和大家分享一下.在阅读本文之前,希望大家能对区块链的概念能有所了解.这样操作过程中的环节理解更深入.下面开始进入准备.因为本次是window ...

  3. NOIP2018退役总结

    NOIP2018退役总结 先说下成绩,应该压线二等. 也没有什么可以抱怨的,真的是心态的问题. 在Day1的时候这么简单的一套卷子,却打了三道暴力,175本来就是省二的水平.回来以后心态就崩了,因为D ...

  4. 洛谷 P1344 [USACO4.4]追查坏牛奶Pollutant Control 解题报告

    P1344 [USACO4.4]追查坏牛奶Pollutant Control 题目描述 你第一天接手三鹿牛奶公司就发生了一件倒霉的事情:公司不小心发送了一批有三聚氰胺的牛奶.很不幸,你发现这件事的时候 ...

  5. bzoj3114 LCM Pair Sum

    题意:以质因数分解的方式给定n,求所有满足:lcm(a, b) = n的无序数对的价值和.其中(a, b)的价值为a + b 解: 定义首项为a,公比为q,项数为n的等比数列的和为getQ(a, q, ...

  6. c++并发编程之互斥锁(mutex)的使用方法

    1. 多个线程访问同一资源时,为了保证数据的一致性,最简单的方式就是使用 mutex(互斥锁). 引用 cppreference 的介绍: The mutex class is a synchroni ...

  7. c 取读地图输入

    ][];     scanf("%ld%ld",&n,&m);     ;i<n;i++)         scanf("%s",mat[ ...

  8. Kubernetes 部署 1.9.7 高可用版

    转载于https://codegreen.cn/2018/08/30/kubernetes-cluster-1.9.7/ 前言 在部署之前,首先感谢 手动搭建高可用的kubernetes 集群 博文的 ...

  9. redis 中用正则找key

    获取 redis 中所有的 key 可用使用 *. redis 127.0.0.1:6379> KEYS * 1) "w3c3" 2) "w3c1" 3) ...

  10. What does -1 mean in numpy reshape?

    The criterion to satisfy for providing the new shape is that 'The new shape should be compatible wit ...