如何使用特定目录树创建 tar 文件 (tar.gz) 文件
Posted
技术标签:
【中文标题】如何使用特定目录树创建 tar 文件 (tar.gz) 文件【英文标题】:How to create a tar file (tar.gz) file with a specific directory tree 【发布时间】:2015-04-09 23:37:51 【问题描述】:我正在尝试备份具有这种结构的目录树:
/home/joe/projects/goodie/binary_program
/home/joe/projects/goodie/image.png
/home/joe/projects/goodie/sound.ogg
/home/joe/projects/goodie/license.txt
我想创建具有以下结构的存档:
goodie-2015_04_09-15_34/binary_program
goodie-2015_04_09-15_34/image.png
goodie-2015_04_09-15_34/sound.ogg
goodie-2015_04_09-15_34/license.txt
我知道如何创建日期/时间戳标签,但我不知道如何在 tar 文件中实际创建树结构。有什么想法吗?
【问题讨论】:
【参考方案1】:GNU tar 有一个 --transform 选项,它在将文件名(或文件路径)放入存档之前运行 sed。
source=/home/joe/projects/goodie
name=goodie-2015_04_09-15_34
tar cvzf $name.tar.gz $source/* --transform "s@^$source@$name@"
【讨论】:
以上是关于如何使用特定目录树创建 tar 文件 (tar.gz) 文件的主要内容,如果未能解决你的问题,请参考以下文章