我目前正在尝试将当前目录中的某些文件捆绑到 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
。
基本上,您想使用cvf
或cfvz
将c
内容压缩到实际的存档中。在命令中使用t
astvf
是将存档的内容发送到标准输出而不提取它,这将不起作用,因为您尚未创建存档.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")
第一个在当前目录中搜索,第二个使用目录的路径进行搜索。