cp
当我通过 Nautilus 复制文件时,其徽标或图标会保留下来,但如果我使用 CLI或通过 CLI复制,rsync
则不会保留。为什么?如何修复?
保留的意思是,我手动更改的图标在通过 Nautilus 复制时保持不变,而通过 CLI 复制时则重置为默认图标。
答案1
我写了一个小的 Perl 脚本来解决这个问题,元保存。它以您需要在目标系统上运行的 shell 脚本的形式保存 nautilus 元数据。
如果您想在命令行上复制文件并保留其元数据,您需要使用gvfs-copy
,Gnome 的替代品cp
。
答案2
为什么:徽标不是文件本身的一部分,它们存储在 Gnome 内部的某个地方 - 当您使用 Nautilus 复制文件时,它能够更新 Gnome 中的元数据,因为 Nautilus 是一个 Gnome 应用程序并且知道标签和徽标的存在。
cp
rsync
另一方面,和其他非 Gnome 命令对标签和标志一无所知,也无法采取任何措施来保存它们。
怎么修:对于每个复制文件的命令行实用程序,可能没有好的方法来修复它。对于某些选定的命令,例如,cp
您可以考虑编写一些包装器,将目标文件的标志设置为与源文件的标志相匹配。这个帖子可能会给你一些关于如何从命令行设置徽章的提示
答案3
尝试使用带有存档标志的 rsync:
rsync -av <source> <dest>
可能是 nautilus 正在保留可执行文件和 rsync 以及 cp 等权限,除非另有说明。