Linux

以自定義方式tar多個文件?

  • July 31, 2020

我遇到了為我的應用程序手動建構 tarball 以準備分發的問題。我的項目結構看起來像

project_root
    |
    |__resources
    |     |____config.conf
    |
  ....
    |__target
          |____release
                   |___bin
                        |___app.bin

所以我需要將 2 個文件壓縮為傻瓜:

project_root/resource/config.conf         -->   ./app/config/example/config.conf
project_root/target/release/bin/app.bin   -->   ./app/app.bin

有一個很好的例子,說明如何tar 多個文件和 tar 與相對路徑,但對於單個文件。

有沒有辦法對上述方案中的兩個文件進行 tar 處理?

使用 GNU ,您可以手動包含這兩個文件並使用以下選項tar修改路徑:--transform

tar --transform=s,project_root/resources/,./app/config/example/, \
   --transform=s,project_root/target/release/bin/,./app/, \
   -cf my.tar \
   project_root/resources/config.conf \
   project_root/target/release/bin/app.bin

輸出:

$ tar tf my.tar
./app/config/example/config.conf
./app/app.bin

引用自:https://unix.stackexchange.com/questions/602294