Как сохранить значки и эмблемы при копировании файлов

Когда я копирую файл через Nautilus, его эмблема или значок сохраняются, но если я делаю это с помощью cp или rsync через CLI, это не так. Почему и как это исправить?

Под сохранением я подразумеваю, что значки, которые я изменил вручную, остаются такими же, как при копировании через Nautilus, и в противном случае сбрасываются на значки по умолчанию при копировании через CLI.

2
задан 5 June 2012 в 18:39

3 ответа

Попробуйте использовать rsync с флагом архива:

rsync -av <source> <dest>

Возможно, что nautilus сохраняет разрешения, такие как исполняемый файл и rsync & amp; ср, если не сказано, нет.

0
ответ дан 5 June 2012 в 18:39

ПОЧЕМУ: Эмблемы не являются частью самого файла, они хранятся где-то внутри Gnome - когда вы копируете файлы, используя Nautilus, он может обновлять метаданные в Gnome, потому что Nautilus - это Gnome приложение и знает о существовании этикеток и эмблем.

cp, rsync и другие команды не-Gnome, с другой стороны, ничего не знают о ярлыках и эмблемах и ничего не могут сделать для их сохранения.

КАК ИСПРАВИТЬ: Не может быть хорошего способа исправить это для каждой утилиты командной строки, которая копирует файлы. Для некоторых выбранных команд, таких как cp, вы можете посмотреть на написание некоторых оболочек, которые устанавливают эмблемы целевых файлов в соответствии с эмблемами исходных файлов. Этот пост может дать вам несколько советов о том, как устанавливать эмблемы из командной строки

0
ответ дан 5 June 2012 в 18:39

Я написал небольшой скрипт на Perl, который решает эту проблему, metasave . Он сохраняет метаданные nautilus в виде сценария оболочки, который необходимо запустить в целевой системе.

Если вы хотите скопировать файлы в командной строке и сохранить их метаданные, вам нужно использовать gvfs-copy, замену Gnome на cp.

0
ответ дан 5 June 2012 в 18:39

Другие вопросы по тегам:

Похожие вопросы: