How to create a tar file (tar.gz) file with a specific directory tree
我正在尝试备份具有以下结构的目录树:
1 2 3 4 | /home/joe/projects/goodie/binary_program /home/joe/projects/goodie/image.png /home/joe/projects/goodie/sound.ogg /home/joe/projects/goodie/license.txt |
我要创建具有以下结构的存档:
1 2 3 4 | 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文件中实际创建树结构……有什么想法吗?
GNU tar有一个--transform选项,在将文件名(或文件路径)放入存档之前,该选项在文件名(或文件路径)上运行。
1 2 3 4 | source=/home/joe/projects/goodie name=goodie-2015_04_09-15_34 tar cvzf $name.tar.gz $source/* --transform"s@^$source@$name@" |