【问题标题】:Create tar-file without folder strucure创建没有文件夹结构的 tar 文件
【发布时间】:2012-08-27 23:04:30
【问题描述】:

我必须将多个文件压缩成一个 tar 文件。由于我必须对许多不同文件夹中的许多文件重复此操作,因此我编写了一个 shell 脚本并从父目录启动它。 shell 脚本包含多行,如下所示:

tar -cf a/b/c/tarfile.tar a/b/c/*

这会在指定文件夹中创建一个 tar 文件,但在 tar 文件中 a/b/c/ 的文件夹结构仍然存在。

我想要的是 c/ 中的所有文件都放在 tarfile.tar 中,而没有文件夹结构 a/b/c/。这可能吗?

【问题讨论】:

    标签: compression tar directory-structure


    【解决方案1】:

    tar -cf a/b/c/tarfile.tar -C a/b/c . 将切换到目录a/b/c 并读取整个目录(. - 您也可以指定特定文件,但通配符不会满足您的期望)。可以根据需要重复 -C <directory> <filelist> 模式以处理来自不同位置的其他文件。

    给定您原始示例的另一种可能性是cd a/b/c; tar cf ../../../tarfile.tar *,但这并不能让您从不同位置提取多个文件(当然您仍然可以使用-C,但相对路径必须是相应调整。

    【讨论】:

    • 感谢 twalberg,我尝试了您的第二条建议,它奏效了。 (先cd到目录,再创建tar-File)