首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有效/正确地将数据从tarball提取到新的Ubuntu发行版中?

如何有效/正确地将数据从tarball提取到新的Ubuntu发行版中?
EN

Ask Ubuntu用户
提问于 2023-01-20 16:11:11
回答 2查看 322关注 0票数 4

我正在更新我的Ubuntu发行版从18.04到22.04。我用wsl --export Ubuntu-18.04 <file.tar>将Ubuntu18.04实例导出到一个tarball中,并试图找出如何有效地将我需要的文件提取到我的新的22.04实例中。

我知道我可以。

  • tar -tvf <file.tar>查看tarball的内容(t: view内容,v: verbose,f: next arg是文件名)
  • tar -xvf <file.tar>提取整件事(x:提取)
  • tar -xvf <file.tar> <filename_or_folder>解压缩文件或文件夹

但是当我列出这些文件时,我可能有超过1k个文件,我认为必须有一个比列出和手动读取所有文件更有效的方法来浏览它们。老实说,我不知道里面有什么东西,但我至少想转移到python和java项目的相关文件以及任何配置文件上。

我已经运行了以下操作,因此在这一点上使用不同的方法可能会很困难:

  • wsl --终止Ubuntu-18.04
  • wsl --注销Ubuntu-18.04
EN

回答 2

Ask Ubuntu用户

发布于 2023-01-20 16:53:28

“python和java项目的相关文件以及任何配置文件”都可能位于您的主目录中,但这取决于您如何使用您的系统。

配置文件应该与新版本进行比较,而不是在没有检查的情况下复制,因为程序的新版本可能需要在旧版本中不存在(无效)的新设置。

您可以将归档列表写入文件,并可选择地过滤输出。

代码语言:javascript
复制
tar -tf <file.tar> | fgrep '/home/' > <file-of-names>

代码语言:javascript
复制
tar -tf <file.tar> > <file-of-names>

检查归档文件是否包含绝对路径或相对路径。您可能不得不使用home/而不是/home/

然后,可以使用保留UNIX行尾的文本编辑器查看和修改文件名列表,只留下所需的文件。

使用GNU tar (这应该是Ubuntu (和大多数Linux发行版)的默认设置),您可以指定要从文件中读取的文件。

代码语言:javascript
复制
tar -T <file-of-names> -xvf <file.tar>
票数 2
EN

Ask Ubuntu用户

发布于 2023-01-24 21:19:42

部分答复

关于所需文件的提取,您可以安装午夜指挥官(apt install mc),这是一个控制台文件管理器,简单但有许多功能。

您可以在一个面板中打开tar文件,只需选择它并按输入,并在其中导航/选择文件,然后在另一个面板中选择目的地并复制/移动/读取到心脏的内容。

它有在线帮助按F1,菜单命令按F9等,您可以查阅man mc (在我看来,它的集成编辑器mcedit似乎比nano/vi等更方便用户使用,并且可以在mc之外调用)。它是非常可配置的(颜色,菜单选项,宏等)

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1451112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档