在 nautilus 中是否可以从一个文件夹中选择一堆文件,然后转到另一个文件夹并向选择中添加更多文件?
答案1
不,很遗憾,这是不可能的。
答案2
bafman 开始
这是一个正在进行的答案,分为两篇文章。
巴夫曼(乙奥恩A获得F伊莱男人一个叫“ager”的插件是在上个长周末(2017 年 4 月 14 日至 17 日)开发的。它目前仍在开发中,但它将满足跨多个子目录选择文件的要求。
如果您想要复制项目中的文件而不进行完整的系统备份,那么这种方法是理想的选择。还有其他应用程序,例如标记您在数十个不同目录中修改过的每个系统配置文件。
我发布这个 WIP 是为了在完成 bash 编码后引起人们的兴趣并收集有关附加功能的建议。是的,它全部用 bash 编写(可能让很多人感到震惊),并且所有 GUI 都依赖于 YAD(Yet Another Dialog)。
初始数据创建
当您第一次调用 bafman 时,片刻之后会出现此屏幕:
这是主屏幕。您可以点击任意列标题以按升序或降序排序。您可以抓取列分隔线并移动它来调整列宽。
使用以下命令将目录列表从 > 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
按钮时,您会看到以下初始警告:
例如,如果您将/usr
目录和/var
目录添加到 bafman 列表,则 10,000 个目录是一种特殊情况。在我们的示例中,我们有 2,365 个目录,扫描其中的所有文件大约需要 5 分钟。
扫描所有目录中的所有文件时会出现以下进度屏幕:
当所有事情完成后,主屏幕将更新如下:
再次注意,您可以单击“文件大小”列按升序排序(最小文件在最上面),再次单击按降序排序(文件大小最大的目录在最上面)。
按目录名搜索只需键入要前进到的目录即可。例如,键入/etc/default
,屏幕就会滚动到该目录。
Hide Dir
按钮 - 从 bafman 列表中删除目录
我注意到我有一个名为的目录/cdrom2
,我忘记了我在测试“假”目录/cdrom
(您必须保留)时创建的目录。因此,让我们/cdrom2
通过单击按钮将其从 bafman 列表中删除Hide Dir
:
该目录/cdrom2
已从驱动器中删除,因此修改的和所有者字段显示为已删除。此屏幕上的这些字段和其他字段在编辑评论部分。
暂时选择OK
按钮隐藏子目录,然后出现此屏幕:
可以隐藏目录并将其下的所有子目录保留在 bafman 列表中。然后可以单独隐藏或保留这些单独的子目录。
Edit comments
按钮——为任何目录输入注释。
当使用 Linux / Ubuntu 目录时,您必须记住有关它们的许多细节,以便您可以在此处输入一些重要的评论。
从主屏幕类型/etc/default
,屏幕滚动到该目录。双击它或点击Space Bar选择目录,然后单击Edit comments
按钮:
已输入适当的注释。请注意,如果您Hide
以后访问目录,注释将会丢失。每次单击按钮时,屏幕上的其他字段都会自动生成,Enter comments
并保存在主屏幕上。
即使您没有输入评论,进入此屏幕并生成目录计数也算作一次交易。(稍后将详细介绍交易计数)。
Add Dir
按钮-将目录添加到 bafman 列表
您可以将任何目录添加到 bafman 列表中,它也会提示自动添加子目录。在此示例中,我们将添加/lib
包含数百个子目录的目录。
单击该Add Dir
按钮时,会出现以下屏幕,其中您的主目录被选定为默认目录:
你可能已经猜到了,我的真名不是微软正如该截图所显示的。
- 单击目录下拉箭头
Other...
从列表中选择- 开始输入
/lib/systemd/
- 点击
Open
选择要添加的目录后,屏幕再次出现,我们输入了适当的注释:
点击OK
添加目录,然后系统会提示您添加其下的子目录:
对于我们的示例,请单击Yes
。
笔记:如果您尝试添加整个
/lib
目录和所有子目录,您可能会收到一条错误消息“未知的按钮返回代码”,如果您从终端调用 bafman,则会出现以下错误消息:line 575: /usr/bin/yad: Argument list too long
如果您从桌面快捷方式运行 bafman,您将会看到此错误
/var/log/syslog
。记住bash 对于传递给 GUI Yad 的数组大小有所限制。
添加新目录及其下的子目录后,主屏幕会重新出现。开始输入/lib/systemd
,屏幕向下滚动到此部分:
这里有一条重要提示:添加新目录时,它会被附加到 bafman 列表的底部。只需单击“目录名称”列标题即可按字母顺序重新排列列表。
所有文件数量和文件大小的统计数据均为零。如果只有一个目录,我们只需单击Edit comments
按钮,这些统计数据就会自动生成。但单击Update Dirs
按钮然后去喝杯咖啡更简单。
当您在添加新目录时输入注释时,该注释将被其下的所有子目录继承(如果您选择同时添加它们)。
Tag files
按钮-选择运行命令将使用的文件
这是 bafman 的核心,但不幸的是目前还不完整。目录中的标记文件已设置完毕,但需要制定标记所选目录下子目录中的文件的设计。希望社区的意见有助于设计。
让我们开始导航到目录/home/rick/.local/share/nautilus/scripts
,双击选择它,然后单击Tag files
按钮:
如果您和我一样,花了很多时间编写脚本(或文档),那么标记它们以便随后复制是一个好主意。这是一个简短的列表,我们想要所有内容,所以让我们点击按钮Tag All
:
默认仅是常规文件。在这里我需要输入选择目录时要做什么...
要快速完成所有操作,请单击Untag All
按钮:
默认设置是取消所有文件类型的标记。
感谢您的耐心等待,期待您的反馈。下一个答案将发布 WIP bash 代码。