我正在更新我的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项目的相关文件以及任何配置文件上。
我已经运行了以下操作,因此在这一点上使用不同的方法可能会很困难:
发布于 2023-01-20 16:53:28
“python和java项目的相关文件以及任何配置文件”都可能位于您的主目录中,但这取决于您如何使用您的系统。
配置文件应该与新版本进行比较,而不是在没有检查的情况下复制,因为程序的新版本可能需要在旧版本中不存在(无效)的新设置。
您可以将归档列表写入文件,并可选择地过滤输出。
tar -tf <file.tar> | fgrep '/home/' > <file-of-names>或
tar -tf <file.tar> > <file-of-names>检查归档文件是否包含绝对路径或相对路径。您可能不得不使用home/而不是/home/。
然后,可以使用保留UNIX行尾的文本编辑器查看和修改文件名列表,只留下所需的文件。
使用GNU tar (这应该是Ubuntu (和大多数Linux发行版)的默认设置),您可以指定要从文件中读取的文件。
tar -T <file-of-names> -xvf <file.tar>发布于 2023-01-24 21:19:42
部分答复
关于所需文件的提取,您可以安装午夜指挥官(apt install mc),这是一个控制台文件管理器,简单但有许多功能。
您可以在一个面板中打开tar文件,只需选择它并按输入,并在其中导航/选择文件,然后在另一个面板中选择目的地并复制/移动/读取到心脏的内容。
它有在线帮助按F1,菜单命令按F9等,您可以查阅man mc (在我看来,它的集成编辑器mcedit似乎比nano/vi等更方便用户使用,并且可以在mc之外调用)。它是非常可配置的(颜色,菜单选项,宏等)
https://askubuntu.com/questions/1451112
复制相似问题