tar命令的实用详解(C参数和排除文件 --exclude)
一、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)的更多相关文章
- Linux常用命令及部分详解
1.总结部分 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) m ...
- 每周一个linux命令之---uptime详解
每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...
- telnet 命令使用方法详解,telnet命令怎么用
telnet 命令使用方法详解,telnet命令怎么用? 文章类型:电脑教程 原创:天诺时空 什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协 ...
- linux route命令的使用详解 添加永久静态路由 tracert traceroute
linux route命令的使用详解 添加永久静态路由 tracert traceroute route -n Linuxroute print Windows traceroute ...
- IP命令的用法详解
IP命令的用法详解 原创 2017-06-29 10:02:34 0932 摘自:http://www.php.cn/linux-371363.html ip命令是Linux下较新的功能强大的 ...
- ping命令执行过程详解
[TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...
- Linux命令工具 top详解
Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...
- 【linux】linux命令grep + awk 详解
linux命令grep + awk 详解 grep:https://www.cnblogs.com/flyor/p/6411140.html awk:https://www.cnblogs.com ...
- nginx的proxy模块详解以及参数
文章来源 运维公会:nginx的proxy模块详解以及参数 使用nginx配置代理的时候,肯定是要用到http_proxy模块.这个模块也是在安装nginx的时候默认安装.它的作用就是将请求转发到相应 ...
随机推荐
- Spring之事务操作(注解)
事务操作步骤: <!-- 第一步.配置事务管理器 --> <bean id="transactionManager" class="org.spring ...
- java之不修改变量的数据类型的处理方式
- 【题解】 bzoj2460: [BeiJing2011]元素 (线性基)
bzoj2460,戳我戳我 Solution: 线性基板子,没啥好说的,注意long long 就好了 Code: //It is coded by Ning_Mew on 5.29 #include ...
- SQLServer过期的解决方案
看图吧,不喜欢说话,图里面我都打备注了 0SQLService异常 1找到安装中心 2升级版本 3监测ing 4输入升级key 5同意并下一步 6下一步 7下一步 8下一步 9收工 10可以打开了
- raft 论文
raft 论文,摘自 http://www.infoq.com/cn/articles/raft-paper raft动画:https://raft.github.io/ raft说明动画:
- codeblocks编译器
发现网络有些编译器没有MinGW,特此留一文件: https://pan.baidu.com/s/1pLltzvH 有时下载codeblocks后编译不了,还要修改MinGW的位置,找到MinGW文件 ...
- string::replace
#include <string> #include <cctype> #include <algorithm> #include <iostream> ...
- JAVA (字符串学习)
String类 String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了. 如果需要对字符串做很多修改,那么应该选择使用StringBuffer&StringBuil ...
- ElasticStack系列之十九 & bulk时 index 和 create 的区别
区别: 两篇文章 id 都一样的情况下,index 是将第二篇文章覆盖第一篇:create 是在第二篇插入的时候抛出一个已经存在的异常 解释: 在批量请求的时候最好使用 create 方式进行导入.假 ...
- Java基础-数据类型应用案例展示
Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...