tar文件包括没有兄弟姐妹的目录

时间:2015-01-23 08:50:59

标签: linux bash tar

我有以下文件结构

.
├── doc1.pdf
├── doc2.pdf
└── images
    ├── img1.jpg
    └── img2.jpg

我想tar图像目录保留父images(没有完整路径)。还有什么我想跳过目录中的其他文件(doc1,doc2)目前我使用:

tar -cf /sth_dir/images.tar -C /images/ . --exclude="doc*"

但我不想使用--exclude,因为可能会在那里添加具有不同名称的其他文件。

2 个答案:

答案 0 :(得分:0)

这应该有效:

tar cf /sth_dir/images.tar images
当我包含tar参数(-v)时,

tar cvf ...产生了此输出:

a images
a images/img1.jpg
a images/img2.jpg

tar文件内容如下所示:

images/
images/img1.jpg
images/img2.jpg

答案 1 :(得分:0)

tar cf /sth_dir/images.tar -C / images/images

假设您在另一个images目录中嵌入了images目录。

man tar:

 -C, --directory DIR
       change to directory DIR

作为替代方案,您可以考虑cpio。假设您对find有经验,那么您可以非常具体地说明要归档的内容。例如,这个二重奏组为您提供了存档目录的可能性,没有其内容,我发现在许多用例中它非常有用。