linux - 从 tar.gz 中将特定文件夹提取到特定目录

标签 linux ssh archive tar remote-backup

我已经搜索并找到了如何实现我想要的两个部分,但没有任何东西可以让你完整地完成....

我想做的是将一个特定的文件夹从 tar.gz 中提取到另一个文件夹中,该文件夹的路径与它在 tar.gz 中的路径不同。

例如:

  • 我的backup.tar.gz文件的目录路径是:a/b/c/d(d是我的main,里面还有很多)

  • 我想在这个不同的服务器路径中将目录“d”解压到“m”中:a/b/m

  • 如果我尝试此代码:tar -xzf backup.tar.gz -C a/b/m

** 文件夹结构看起来像:a/b/m/a/b/c/d 但我希望它看起来像 a/b/m+d 以便存档中的所有主要文件/文件夹'd' 路径在 'm' 路径中结束

非常感谢任何帮助。

谢谢!

最佳答案

好的,我明白了!

基本上我可以只使用 strip 命令删除 x 个前导目录。在这种情况下,我的命令将如下所示:

tar -xzf backup.tar.gz --strip-components=3 -C a/b/m

在将其解压缩到目标目录之前,从我的存档 (backup.tar.gz : a/b/c/d) 中删除了前三个路径目录。

现在看起来像这样:a/b/m+d

关于linux - 从 tar.gz 中将特定文件夹提取到特定目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234184/

相关文章:

linux - 使用 ssh 连接到 EC2 的多个实例

MySql:为存档引擎创建表,强制 auto_increment

mysql - 删除 MySQL 存档数据库

android - 将 Android 项目存档导入 Eclipse 时出现问题

python - 检查是否存在重复,然后在行中附加一个唯一的数字?

python - 将 python 脚本作为 systemd 服务运行

shell - Golang 从 *os.file 进行复制,无需等待 EOF

c++ - 获得本地主机名,在 Windows 上工作,但在 Linux 上不行

linux - 我可以更改 Linux 终端中的默认响应颜色吗?

ssh - 许多SSH登录均可使用