如何从命令行获取文件的标志?

我想能够从命令行确定文件的标志。有办法确定这个吗?另外,有办法从命令行应用标志吗?

通常我有一个定时任务,在我的~/Downloads目录中删除7天前的文件,但我希望只删除没有特定标志(我的种子下载)的文件。我一直在手动应用这些标志,但如果我也可以自动化这个过程,那就太棒了。

我的通常的定时任务只是一个简单的find命令:

find /home/zach/Downloads/ -ctime +7 -exec trash {} \;

编辑:
我解决了自己的问题。
额外奖励:
为了详细说明我正在做的事情,我使用deluge-torrent来管理我的下载。现在我正在使用执行插件来在种子下载完成后运行这个脚本。
#!/usr/bin/env bash
# deluge gives the download directory name as the third argument
gvfs-set-attribute -t stringv "$3" metadata::emblems ubuntuone-unsynchronized

我接着创建了我的 `trasher.sh`(这需要 `trash-cli` 软件包):
#!/usr/bin/env bash
[[ "$(gvfs-info -a metadata::emblems $*)" =~ "ubuntuone-unsynchronized" ]] || trash "$*"

现在,我只是修改了我的cron为:

find /home/zach/Downloads/ -maxdepth 1 -ctime +7 -exec /home/zach/Scripts/trasher.sh {} \;

而且,就这样!现在Deluge可以管理它的下载了,而我的清理脚本可以安全地清理旧文件,而不会干扰正在做种的种子。

3好主意!:) - invert
2个回答

<Juhaz> 在 freenode 的 ##gnome 得到了。

gvfs-info -a metadata::emblems 文件夹

将检索文件夹/文件的徽章

gvfs-set-attribute -t stringv 文件夹 metadata::emblems 徽章

允许您设置文件夹/文件的徽章。


3元数据存储在~/home/.local/share/gvfs-metadata中。如果我理解正确的话,每个分区/卷都有一个文件。这些是二进制文件。我觉得这样很丑陋,但可能比xml文件更快。 - Javier Rivera
这是当我在##gnome提问时,他们首先指向我的地方。有很多二进制.log文件。我犯了一个错误,对该目录进行了cat *操作。而且似乎那里的文件从不清理? - aperson
1在12.04版本上无法运行。 - Fish Monitor

这篇文章解释了如何将徽章信息存储在位于~/.nautilus/metafiles下的XML文件中。首先,您需要测试每个下载相关的XML文件是否存在,如果存在的话,还需要检查它是否包含您选择的徽章。


2我的 ~/.nautilus/ 文件夹完全是空的... - 8128
3旧信息,这在Lucid上已经改变了。顺便说一句,我也想知道nautilus现在把它们存储在哪里。 - Javier Rivera
是的,我已经看过那篇帖子了(抱歉,我应该明确一下)。但正如其他人评论的那样,那些信息已经不再相关了。我甚至尝试在我的主目录中搜索.xml文件,除了一些其他程序的东西外,什么都没有出现。 - aperson