LINUX Mint 20.04 我需要这个脚本,该脚本已经在 UBUNTU 中运行,但在 Mint 中不再运行。
我的问题:我有一个目录,我只需在 nemo 中右键单击它 --> 属性 --> 单击图标 --> 选择一个新图标即可更改其图标。
如果我使用 nemo 将此目录复制到另一个地方,它会保留其外观。(图标)
但是当我用控制台复制这个目录时cp -r
......它失去了它的外观。(看起来像一个普通目录)
我的问题:我需要添加什么参数,才能cp -r
将属性复制到新目录,就像我使用 nemo 复制它一样?
我已经尝试过了:
cp -ra
cp -ra -attributes-only
cp -rp
但这些都没有起到作用。
答案1
要模仿 Nemo,您需要使用gio copy
。不幸的是,它没有-r
,所以您需要单独弄清楚。
Nautilus、Nemo 和 Thunar 将这些属性存储在单独的元数据数据库中,而不是直接作为文件本身的属性。您可以使用 来验证 xattrs 是否不存在getfattr -d ~/Foo
,并且可以使用 查看 GNOME 应用程序可见的所有属性 - 包括 xattrs 以及 GVfs 存储的自定义元数据gio info ~/Foo
。
这意味着您必须使用利用 GLib/GVfs 函数的工具来复制文件;其他工具都不知道如何复制 GVfs 级别的元数据。(我认为 KDE 可能存在类似的问题;它确实存在kio cp
。)
目前,由于该gio
工具不支持递归复制,因此您需要在gio info
旧文件夹中找到特定的元数据项,然后使用手动将其设置在新文件夹中gio set
(以您喜欢的方式复制文件夹后)。