Tar包压缩时相对路径的问题详解

  现在有一个需求,不知道该如何才能实现

  压缩: tar czvf /data/backup/test.tar.gz /data/a/b/directory

  解压: cd /data/test

  tar xzvf /data/backup/test.tar.gz

  问题是,解压后的文件,在/data/test/data/a/b/directory里面

  能否压缩时只保留directory以下的所有目录,以directory作为/,而不是/data/a/b/directory?

  问题已经解决,找到了GNU tar的官方资料

  http://www.delorie.com/gnu/docs/tar/tar_98.html

  这样写就可以解决了

  tar czvf /data/backup/test.tar.gz /data/a/b/directory

  改成

  tar czvf /data/backup/test.tar.gz -C /data/a/b directory

  C是临时切换工作目录,-P是绝对路径,在这里只用到-C参数就行了。

时间: 2024-10-26 07:18:26

Tar包压缩时相对路径的问题详解的相关文章

关于Tar包压缩时相对路径的问题

  现在有一个需求,不知道该如何才能实现 压缩: tar czvf /data/backup/test.tar.gz /data/a/b/directory 解压: cd /data/test tar xzvf /data/backup/test.tar.gz 问题是,解压后的文件,在/data/test/data/a/b/directory里面 能否压缩时只保留directory以下的所有目录,以directory作为/,而不是/data/a/b/directory? 这样写就可以解决了 ta

Windows CE系统开发,BSP包中的几个常见文件详解

Windows CE系统开发,BSP包中的几个常见文件详解 BSP介绍(Board Support Package)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括: (1)      单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持: (2)      为操作系统提供设备驱动程序和系统中断服务程序: (3)      定制操作系统的功能,为软件系统提供一个实时多任务的运行环境: (4)      初始化操作系统,为操作

ASP.NET MVC中使用jQuery时的浏览器缓存问题详解_实用技巧

介绍 尽管jQuery在浏览器ajax调用的时候对缓存提供了很好的支持,还是有必要了解一下如何高效地使用http协议. 首先要做的事情是在服务器端支持HTTP GET,定义不同的URL输出不同的数据(MVC里对应的就是action).如果要使用同一个地址获取不同的数据,那就不对了,一个HTTP POST也不行因为POST不能被缓存.许多开发人员使用POST主要有2个原因:明确了数据不能被缓存,或者是避免JSON攻击(JSON返回数组的时候可以被入侵). 缓存解释 jQuery全局对象里的ajax

Android 中Crash时如何获取异常信息详解及实例

Android 中Crash时如何获取异常信息详解 前言: 大家都知道,Android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于Android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况.当crash发生时,系统会kill掉你的程序,表现就是闪退或者程序已停止运行,这对用户来说是很不友好的,也是开发者所不愿意看到的,更糟糕的是,当用户发生了crash,开发者却无法得知程序为何crash,即便你想去解决这个crash,

JAVA获取CLASSPATH路径的方法详解_java

ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getResourceAsStream (String name);        这里name是资源的类路径,它是相对与"/"根路径下的位置.getResource得到的是一个URL对象来定位资源,而getResourceAsStream取得该资源输入流的引用保证程序可以从正确的位置抽取数据.     

使用tar命令压缩时排除文件夹或者文件

一般某个文件夹例如log用tar打包很简单  代码如下 复制代码 tar -zcvf log.tar.gz log 只要使用上述命令就可以了 1.排除文件夹: 但是生产环境下log里面的日志文件非常庞大,有几十个G,不需要的我们就不备份,举例排除proftpd的日志. 网上查了下用tar --exclude似乎可以解决  代码如下 复制代码 tar -zcvf log.tar.gz --exclude=log/proftpd/ log 但是这样还是会把proftpd的日志文件全部打包进去 后来试

Node.js路径操作实例详解

path.normalize(path) path.normalize(path) 参数值为需要被转换的路径字符串. 该方法将非标准路径字符串转换为标准路径字符串,在转换过程中执行以下处理: 1) 解析路径字符串中的".."字符串与"."字符串,返回解析后的标准路径: 2) 将多个斜杠字符串转换为一个斜杠字符串,例如将"\\"转换为"\": 3) 将Windows操作系统中的反斜杠字符串转换为正斜杠字符串: 4) 如果路径字符

使用GruntJS链接与压缩多个JavaScript文件过程详解

怎么把多个JS文件搞成一个啊,GruntJS – JavaScript多文件编译,风格检查,链接与压缩神器,使用过程如下,有需要的朋友可以参考下,希望对大家有所帮助   自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想把这些多个JS文件变成 一个JS文件发布出去,于是我的问题来啦,怎么把这些JS文件搞成一个啊,群里有个 朋友告诉我,GruntJS – JavaScript多文件编译,风格检查,链接与压缩

基于获取JAVA路径,包括CLASSPATH外的路径的方法详解_java

归纳一些网上取JAVA路径的方法: 注明:如果从ANT启动程序,this.getClass().getResource("")取出来的比较怪,直接用JAVA命令行调试就可成功.得到classpath和当前类的绝对路径的一些方法获得CLASSPATH之外路径的方法:URL base = this.getClass().getResource(""): //先获得本类的所在位置,如/home/popeye/testjava/build/classes/net/ Stri