tar 整个子文件夹和另一个子文件夹中的单个文件,保留目录结构?

tar 整个子文件夹和另一个子文件夹中的单个文件,保留目录结构?

大多数关于 tar 的问答要么询问将整个目录分组为tar,要么询问匹配模式的单个文件(例如相同的扩展名),但我想混合使用两者。

也就是说,如果我有这个目录结构:

SomeDir/someFile1.a
SomeDir/someFile2.b
SomeDir/someFile3.c
SomeDir/...
SomeDir/someFileN.xyz
fileInRoot.abc
OtherDir/someFile.xyz
OtherDir/theFile.f

我想SomeDir完全打包,并且单独打包theFile.f,这样,当我在另一台服务器中解压缩它时,我只剩下这个目录结构:

SomeDir/someFile1.a
SomeDir/someFile2.b
SomeDir/someFile3.c
SomeDir/...
SomeDir/someFileN.xyz
OtherDir/theFile.f

这可能吗?我应该使用哪些标志来 tar?

答案1

如果我正确理解你想要什么,你可以简单地将目录/文件名传递给 tar。

 tar -cvf tarfile.tar SomeDir/ OtherDir/theFile.f

提取后:

[user]$: ls
OtherDir  SomeDir  tarfile.tar

[user]$: tar -xf tarfile.tar

[user]$: ls SomeDir/
someFile1.a  someFile2.b  someFile3.c  someFileN.xyz

[user]$: ls OtherDir/
theFile.f

相关内容