在父目录中制作 tar 存档

在父目录中制作 tar 存档

我目前正在尝试将当前目录中的某些文件捆绑到 tar 存档中,然后使其存档位于当前目录的父目录中。我想知道是否有人可以向我解释如何做到这一点。我了解如何捆绑我需要的文件,但我很困惑如何制作它以便存档位于父级中。

目前我正在使用命令:

$ tar -tvf something.tar $( find -name "*.txt")

因为我需要将文件与 .txt 扩展名捆绑在一起。

答案1

您可以通过以下几种方式之一进行操作:

tar cvf ../something.tar $( find -name "*.txt")

这将使文件被放入something.tar上面的目录中。

更啰嗦的方法是这样的:

tar cvf /path/to/something.tar $( find -name "*.txt")

它使用您要放置文件的位置的直接路径.tar

如果你想要实际压缩:

tar cvfz something.tar.gz $( find -name "*.txt")

遗嘱z将其归档.gz

基本上,您想使用cvfcfvzc内容压缩到实际的存档中。在命令中使用tastvf是将存档的内容发送到标准输出而不提取它,这将不起作用,因为您尚未创建存档.tar

*根据您的环境,您可能还需要转义:

tar cvf ../something.tar $( find -name "\*.txt")

对于将来可能需要此功能的任何人的另一个更新:

对于想要使用它的其他人,如果您尚未findutils安装,则需要-name在 find 命令中包含您之前搜索的路径:

tar cvf ../something.tar $( find . -name "\*.txt")

tar cvf ../something.tar $( find /path/to/directory -name "\*.txt")

第一个在当前目录中搜索,第二个使用目录的路径进行搜索。

相关内容