`

关于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参数就行了。

 

 

分享到:
评论

相关推荐

    解压tar.Z文件,含jar包

    在“tar.Z”这种情况下,`tar`与`compress`算法结合,`compress`是早期的压缩程序,其压缩率相对较低,但对旧系统的支持较好。 处理tar.Z文件需要两个步骤:先解压(用`uncompress`),然后解包(用`tar`)。以下是...

    apache commons-compress 之tar压缩文件夹示例

    对于每个文件,我们创建一个`TarArchiveEntry`对象,设置其名称为相对于源文件夹的相对路径,然后通过`IOUtils.copy`方法将文件内容写入tar流。 最后,需要注意的是,这个例子中的`TarUtil`类中的`createTarFile`...

    python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法

    同样,对于每个文件,我们也使用相对路径将其添加到tar文件中。 最后,别忘了调用`tar.close()`来确保所有的写入操作都已完成,并释放系统资源。 需要注意的是,如果源目录中存在空文件夹,`os.walk()`在默认情况...

    快压tar.gz插件

    在日常工作中,我们经常遇到需要处理不同格式的压缩文件,其中tar.gz格式是Linux系统中常见的压缩方式,而在Windows环境下,我们通常依赖于第三方软件如快压来处理这类文件。然而,官方可能并未提供对tar.gz格式的...

    tar.gz 和tar.bz2 详细解释

    类似地,`tar.bz2` 文件是先由`tar`打包,再用Bzip2算法进行压缩,Bzip2相比Gzip具有更高的压缩率,但压缩和解压缩速度相对较慢。解压`tar.bz2`文件的命令是: ```bash [root@localhost beinan]# tar jxvf file....

    Python打包文件夹的方法小结(zip,tar,tar.gz等)

    arcname = pathfile[pre_len:].strip(os.path.sep) # 相对路径 zipf.write(pathfile, arcname) zipf.close() # 示例调用 make_zip('src', 'output.zip') ``` 在这个示例中,我们首先导入了 `os` 和 `zipfile` ...

    pkg2.tar.gz

    总之,pkg2.tar.gz 文件是一个包含 Python 包的压缩文件,解压后有两个关键部分:实际的 Python 代码(nh3)和元数据(nh3-0.2.15.dist-info)。理解和操作这些文件对于 Python 开发者来说是必备技能,无论是创建...

    文件打包压缩,可同时打包多个文件(也可以打包单个文件)

    打包单个文件的流程相对简单,只需要指定源文件和目标打包文件的路径即可。而打包多个文件则需要遍历文件夹,将所有文件或子文件夹添加到打包文件中。这里可能涉及到递归操作,确保所有层级的文件都被包含。 描述中...

    m4-1.4.18.tar.gz包,安装GCC必备

    `.tar.gz`是常见的压缩格式,它结合了tar(归档)和gzip(压缩)两个工具,用于将多个文件打包并压缩成一个文件,便于传输和存储。 描述中提到,“安装GCC必备”,意味着m4是构建GNU Compiler Collection (GCC)所...

    webbench tar包

    2. **解压**:使用`tar -xvf webbench-1.5.tar.gz`命令解压缩文件。 3. **编译源码**:进入解压后的目录,使用`./configure`配置环境,然后执行`make`进行编译。 4. **安装**:最后,使用`sudo make install`将...

    c# 7z压缩方式,源码 Demo

    7z文件通常具有更小的体积,但解压速度相对较慢。这对于存储空间有限或需要传输大量数据的情况非常有用。 SevenZipSharp是一个开源的.NET库,它允许C#开发者调用7-Zip的API,无需直接操作7z.dll。通过这个库,我们...

    snappy.tar.gz

    在许多场景下,Snappy能够在保持相对较低的CPU占用率的同时,提供快速的压缩和解压缩操作。这对于大数据处理、日志记录、存储和网络传输等场景特别有用,例如在Hadoop、Spark等大数据处理框架中,Snappy被广泛用作...

    cifar-10-binary.tar.zip

    处理CIFAR-10数据集时,首先需要解压缩文件“cifar-10-binary.tar.gz”。这通常涉及到使用tar命令行工具来解压tar文件,然后可能需要进一步使用gzip或unzip命令来处理内部的gz压缩文件。解压缩后,可以使用Python的...

    jdk8.tar.gz

    【描述】安装过程相对简单,首先需要将"jdk1.8.0_201"这个压缩文件解压到您自定义的目录,例如可以选择将它放在/home/your_username/softwares目录下。解压命令通常会是`tar -zxvf jdk1.8.0_201.tar.gz -C /path/to/...

    linux tar命令完全手册

    - 在处理大文件或复杂文件结构时,可以使用`-P`选项来避免相对路径问题。 - 对于需要保持原有文件权限的情况,建议使用`-p`选项。 #### 八、总结 `tar`命令在Linux中是一个极其强大的工具,通过灵活地组合各种选项...

    将文件写入压缩文件中, 如果path中含有目录,则该方法将会执行失败

    相对路径可能导致混淆,特别是当目录结构复杂时。 2. **分隔符**:根据操作系统,文件路径中的分隔符可能不同。在Windows系统中,使用反斜杠`\`,而在Unix或MacOS系统中,使用正斜杠`/`。确保在编写代码时使用正确...

    lz4压缩与解压缩库

    LZ4以其极快的压缩和解压缩速度而闻名,同时保持了相对较高的压缩比,特别是在处理大量数据时,其性能优势尤为明显。 在VC++开发中,LZ4作为一个第三方类库,可以方便地集成到Visual Studio项目中,以提升程序的...

    PathTools-3.33.tar.gz

    9. **相对路径计算**:从一个起点路径到另一个目标路径,计算出相对路径。 10. **路径遍历**:递归地遍历目录结构,列出所有文件和子目录。 PathTools 3.33作为一个成熟的版本,很可能还包含了一些性能优化和错误...

    lzo-2.09.tar.gz

    在给定的文件"lzo-2.09.tar.gz"中,我们看到的是LZO库的版本2.09的源代码包,它已经被gzip压缩过。 1. **LZO算法**:LZO的核心思想是基于字典的压缩,通过查找输入数据中的重复模式并用较短的编码来表示它们。这种...

Global site tag (gtag.js) - Google Analytics