bafman 开始

bafman 开始

在 nautilus 中是否可以从一个文件夹中选择一堆文件,然后转到另一个文件夹并向选择中添加更多文件?

答案1

不,很遗憾,这是不可能的。

答案2

bafman 开始

这是一个正在进行的答案,分为两篇文章。

巴夫曼(奥恩A获得F伊莱男人一个叫“ager”的插件是在上个长周末(2017 年 4 月 14 日至 17 日)开发的。它目前仍在开发中,但它将满足跨多个子目录选择文件的要求。

如果您想要复制项目中的文件而不进行完整的系统备份,那么这种方法是理想的选择。还有其他应用程序,例如标记您在数十个不同目录中修改过的每个系统配置文件。

我发布这个 WIP 是为了在完成 bash 编码后引起人们的兴趣并收集有关附加功能的建议。是的,它全部用 bash 编写(可能让很多人感到震惊),并且所有 GUI 都依赖于 YAD(Yet Another Dialog)。

初始数据创建

当您第一次调用 bafman 时,片刻之后会出现此屏幕:

巴夫曼 1

这是主屏幕。您可以点击任意列标题以按升序或降序排序。您可以抓取列分隔线并移动它来调整列宽。

使用以下命令将目录列表从 > 20,000(bafman 限制)缩减:

tree --noreport -danifI "src*|dev|lib|media|mnt|proc|root|run|sys|tmp|tmpfs|var|usr" / > "$bafmanTemp"

如果您是程序员,您可能希望查看所有“src*”目录并将其从代码中删除。

请注意,我们的显示中文件数量和大小均为零。下一节将对此进行纠正。

Update Dirs按钮——生成所有目录的文件统计信息

当您单击该Update Dirs按钮时,您会看到以下初始警告:

巴夫曼 2

例如,如果您将/usr目录和/var目录添加到 bafman 列表,则 10,000 个目录是一种特殊情况。在我们的示例中,我们有 2,365 个目录,扫描其中的所有文件大约需要 5 分钟。

扫描所有目录中的所有文件时会出现以下进度屏幕:

巴夫曼 3

当所有事情完成后,主屏幕将更新如下:

巴夫曼 4

再次注意,您可以单击“文件大小”列按升序排序(最小文件在最上面),再次单击按降序排序(文件大小最大的目录在最上面)。

按目录名搜索只需键入要前进到的目录即可。例如,键入/etc/default,屏幕就会滚动到该目录。

Hide Dir按钮 - 从 bafman 列表中删除目录

我注意到我有一个名为的目录/cdrom2,我忘记了我在测试“假”目录/cdrom(您必须保留)时创建的目录。因此,让我们/cdrom2通过单击按钮将其从 bafman 列表中删除Hide Dir

巴夫曼 5

该目录/cdrom2已从驱动器中删除,因此修改的所有者字段显示为已删除。此屏幕上的这些字段和其他字段在编辑评论部分。

暂时选择OK按钮隐藏子目录,然后出现此屏幕:

巴夫曼 6

可以隐藏目录并将其下的所有子目录保留在 bafman 列表中。然后可以单独隐藏或保留这些单独的子目录。

Edit comments按钮——为任何目录输入注释。

当使用 Linux / Ubuntu 目录时,您必须记住有关它们的许多细节,以便您可以在此处输入一些重要的评论。

从主屏幕类型/etc/default,屏幕滚动到该目录。双击它或点击Space Bar选择目录,然后单击Edit comments按钮:

巴夫曼 7

已输入适当的注释。请注意,如果您Hide以后访问目录,注释将会丢失。每次单击按钮时,屏幕上的其他字段都会自动生成,Enter comments并保存在主屏幕上。

即使您没有输入评论,进入此屏幕并生成目录计数也算作一次交易。(稍后将详细介绍交易计数)。

Add Dir按钮-将目录添加到 bafman 列表

您可以将任何目录添加到 bafman 列表中,它也会提示自动添加子目录。在此示例中,我们将添加/lib包含数百个子目录的目录。

单击该Add Dir按钮时,会出现以下屏幕,其中您的主目录被选定为默认目录:

巴夫曼 8

你可能已经猜到了,我的真名不是微软正如该截图所显示的。

  • 单击目录下拉箭头
  • Other...从列表中选择
  • 开始输入/lib/systemd/
  • 点击Open

选择要添加的目录后,屏幕再次出现,我们输入了适当的注释:

巴夫曼 9

点击OK添加目录,然后系统会提示您添加其下的子目录:

巴夫曼 10

对于我们的示例,请单击Yes

笔记:如果您尝试添加整个/lib目录和所有子目录,您可能会收到一条错误消息“未知的按钮返回代码”,如果您从终端调用 bafman,则会出现以下错误消息:

line 575: /usr/bin/yad: Argument list too long

如果您从桌面快捷方式运行 bafman,您将会看到此错误/var/log/syslog记住bash 对于传递给 GUI Yad 的数组大小有所限制。

添加新目录及其下的子目录后,主屏幕会重新出现。开始输入/lib/systemd,屏幕向下滚动到此部分:

巴夫曼 11

这里有一条重要提示:添加新目录时,它会被附加到 bafman 列表的底部。只需单击“目录名称”列标题即可按字母顺序重新排列列表。

所有文件数量和文件大小的统计数据均为零。如果只有一个目录,我们只需单击Edit comments按钮,这些统计数据就会自动生成。但单击Update Dirs按钮然后去喝杯咖啡更简单。

当您在添加新目录时输入注释时,该注释将被其下的所有子目录继承(如果您选择同时添加它们)。

Tag files按钮-选择运行命令将使用的文件

这是 bafman 的核心,但不幸的是目前还不完整。目录中的标记文件已设置完毕,但需要制定标记所选目录下子目录中的文件的设计。希望社区的意见有助于设计。

让我们开始导航到目录/home/rick/.local/share/nautilus/scripts,双击选择它,然后单击Tag files按钮:

巴夫曼 12

如果您和我一样,花了很多时间编写脚本(或文档),那么标记它们以便随后复制是一个好主意。这是一个简短的列表,我们想要所有内容,所以让我们点击按钮Tag All

巴夫曼 13

默认仅是常规文件。在这里我需要输入选择目录时要做什么...

要快速完成所有操作,请单击Untag All按钮:

巴夫曼 14

默认设置是取消所有文件类型的标记。

感谢您的耐心等待,期待您的反馈。下一个答案将发布 WIP bash 代码。

相关内容