• 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 打包不带目录的文件

  • 相关阅读:
    圆珠笔芯为什么那么细
    2017第45周二
    浅谈XXE攻击
    谈谈ssrf
    htop简介
    关闭火狐定期向“http://detectportal.firefox.com/”发包
    linux登录用户(终端)间的通信
    linux下ftp、telnet的安装和使用
    深入解析hostname
    supervisor启动sqlmapapi失败 sqlmapapi: ERROR (file is not executable)
  • 原文地址:https://www.cnblogs.com/sihye/p/12168288.html
Copyright © 2020-2023  润新知