我必须将多个文件压缩为一个tar-File . 因为我必须对许多不同文件夹中的许多文件重复这一点,所以我编写了一个shell脚本并从父目录启动它 . shell脚本包含多行,如下所示:
tar -cf a/b/c/tarfile.tar a/b/c/*
这会在指定的文件夹中创建一个tar文件,但在tar-File中,/ b / c /的文件夹结构仍然存在 .
我想要的是c /中的所有文件都放在tarfile.tar中,没有文件夹结构a / b / c / . 这可能吗?
tar -cf a/b/c/tarfile.tar -C a/b/c . 将切换到目录 a/b/c 并读入整个目录( . - 您也可以指定特定文件,但通配符不会执行您期望的操作) . 必要时可以重复 -C <directory> <filelist> 模式以处理来自不同位置的其他文件 .
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 ,但相对路径必须相应调整 .
cd a/b/c; tar cf ../../../tarfile.tar *
-C
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
,但相对路径必须相应调整 .