我有以下文件结构
.
├── doc1.pdf
├── doc2.pdf
└── images
├── img1.jpg
└── img2.jpg
我想tar图像目录保留父images
(没有完整路径)。还有什么我想跳过目录中的其他文件(doc1,doc2)目前我使用:
tar -cf /sth_dir/images.tar -C /images/ . --exclude="doc*"
但我不想使用--exclude
,因为可能会在那里添加具有不同名称的其他文件。
答案 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
有经验,那么您可以非常具体地说明要归档的内容。例如,这个二重奏组为您提供了存档目录的可能性,没有其内容,我发现在许多用例中它非常有用。