zoukankan      html  css  js  c++  java
  • tar 打包的时候去掉目录前缀

    tar 打包时去掉目录前缀

    说明

    例: 现有目录结构如下所示.

    # tree /a
    /a
    └── b
        └── c
            ├── hello
            └── hello.md5sum
    

    正常情况打包c目录下的文件

    压缩
    # tar cf /opt/test.tar /a/b/c/hello /a/b/c/hello.md5sum 
    
    解压
    # tar xf test.tar 
    # ls
    a  test.tar
    # tree /opt/a/
    /opt/a/
    └── b
        └── c
            ├── hello
            └── hello.md5sum
    

    如上所示,在正常情况下压缩目录下的文件默认会打包带上目录结构,一直到最后一层需要打包的文件。
    那么如何实现打包时只压缩最后一层的文件,而不带上任何目录或者是不需要的几级目录呢?

    实现方式

    一、cp

    使用cp命令,先将文件拷贝到目标路径,再进行打包。

    # cp /a/b/c/* /opt/ && cd /opt && tar cf /opt/test2.tar ./hello ./hello.md5sum 
    

    二、使用"--transform"

    参数: --transform s=xxx/==

    # tar cvf /trans/testfile2.tar.gz --transform s=a/b/c/== ./a/b/c/hello ./a/b/c/hello.md5sum
    

    解释:"s=a/b/c/==" 表示省略的目录,后面就是要打包所有的文件

    # tar xf testfile2.tar.gz
    # ls
    hello  hello.md5sum
    

    以上就是通过--transform 打包不带目录的文件

  • 相关阅读:
    4月7日工作日志
    5月4日工作日志
    4月7日工作日志
    4月1日工作日志
    3月31日工作日志
    3月31日工作日志
    对元素绑定事件方法
    css实现垂直居中的各种方法
    纯css写一个switch开关
    弹性盒模型flex布局
  • 原文地址:https://www.cnblogs.com/sihye/p/12168288.html
Copyright © 2011-2022 走看看