Удаление файлов DS_Store и вариантов?

При использовании Vim можно интересоваться плагином EnhCommentify.vim, который позволяет Вам легко переключить комментарии.

3
задан 1 December 2010 в 18:05
7 ответов

Просто предположение здесь, но 0x2e шестнадцатеричное число для 46, который является ASCII для символа точки .. Я предполагаю что .DS_Store файлы становятся переименованными таким способом, которым они не сталкиваются с соглашением о присвоении имен Linux, что что-либо начинающееся с точки является скрытым файлом. Относительно того, какой механизм на самом деле делает это, я не знаю; но это объясняет "2e".

1
ответ дан 3 December 2019 в 05:35

:2e префикс, кажется, побочный эффект настройки по умолчанию netatalk сервиса, которая запрещает dotfiles; чтобы избежать этого (т.е. иметь имена файлов появляются на сервере как.DS_Store и т.д.), добавить options:usedots к каждой доле в/etc/netatalk/AppleVolumes.default (см. этот предыдущий вопрос и netatalk документацию).

Это не будет или избавляться от существующих ":2e" файлов или препятствовать тому, чтобы новые "." файлы были созданы, просто заставили новые файлы создаваться с более нормальными именами (и сделайте их правильно невидимыми). DSDontWriteNetworkStores установка, которую Вы сделали, должна препятствовать тому, чтобы новые.DS_Store файлы были созданы, но не предотвратит.TemporaryItems.Trashes. _ * файлы (это файлы AppleDouble, которые содержат ветвления ресурсов и нестандартные метаданные), и т.д. Я не знаю ни о каком способе препятствовать тому, чтобы они были созданы, можно только очистить их позже (и надеяться, что у них ничего не было важным в них - это - не всегда безопасное предположение).

Я нашел, что сценарий Christian Imhorst удалил различный из этих файлов на сервере. Кодировка символов на его сайте немного искажена, таким образом, я буду включать очищенный (и немного измененный...) версия здесь. Я добавил немного к списку имен файлов для удаления; не стесняйтесь редактировать список уничтожения для дегустации. Но УДОСТОВЕРЬТЕСЬ, что у ВАС ЕСТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРЕЖДЕ, ЧЕМ ВЫПОЛНИТЬ ЭТО, поскольку любой сценарий, который включает символы "комната-rf", должен рассматриваться как потенциально опасный.

#!/bin/bash
# Script:       sauber
# Object:       Cleans up your Linux file system after a 
#                   session with AppleTalk and Finder.
# Etymologie:   sauber means clean in German
# Author:       originally by Christian Imhorst [http://www.datenteiler.de/what-is-2eds_store/]
#                   modified by Gordon Davisson

# Test number of arguments here
if (( $# < 1 )) ; then
    echo >&2
    echo "We need an argument here." >&2
    echo "Usage:   ./sauber [Directory]" >&2
    echo "Example: ./sauber /home/christian"  >&2
    echo >&2
    exit 1
elif [[ ! -d "$1" ]] ; then
    echo "$1 is not a directory" >&2
    exit 1
fi

find "$1" \( -iname ':2eDS_Store' \
    -o -iname '.DS_Store' \
    -o -iname '.AppleDouble' \
    -o -iname 'Network Trash Folder' \
    -o -iname 'Temporary Items' \
    -o -iname ':2eTemporary Items' \
    -o -iname '.Temporary Items' \
    -o -iname ':2elocalized' \
    -o -iname '.localized' \
    -o -iname ':2e_*' \
    -o -iname '._*' \) -exec rm -rf {} \;
4
ответ дан 3 December 2019 в 05:35

:2E вероятен вариант %2E, который переводит в a. (период) на http://www.w3schools.com/tags/ref_urlencode.asp

0
ответ дан 3 December 2019 в 05:35

Не уверенный, почему их называют:2e_something вместо.DS_Store, но тем не менее, TemporaryItems создаются Углеродными приложениями (который является старым слоем MacOS 9 compability, все еще используемым несколькими программами, т.е. MS Office), и Вы не можете избавиться от них, AFAIK, но их безопасно удалить.

Система создает их во-первых, потому что MacOS не может использовать расширенные атрибуты через Samba, даже если базовый FS поддерживал бы их, таким образом, это хранит такие вещи как ветви ресурсов, маркировки папки и т.д. в скрытых файлах.

Это реальная боль, если Вы также используете другие системы, чем MacOS для доступа к файлам, потому что они не знают об этом соединении и если Вы перемещаетесь, переименуйте или удалите файлы, Вы заканчиваете с партией осиротевших. файлы _xxx.

0
ответ дан 3 December 2019 в 05:35

Необходимо смочь найти все варианты использования папки:

find ./ -regex '/:2eDS_Store$' | xargs echo

Это не удалит файлы на месте, но необходимо проверить результаты сначала и не доверять мне слепой :)

-1
ответ дан 3 December 2019 в 05:35

Я не рекомендовал бы удалить точечные файлы, потому что это может вызвать проблемы с некоторыми приложениями, которые все еще используют ветви ресурсов (плюс большинство из них, будет просто воссоздан так или иначе). Вы могли бы также видеть файлы, которые запускаются с. _ и эти файлы ветвь ресурсов файла от соединения Samba. У нас есть эти файлы на некоторых наших серверах, и в конце мы решили, что это не стоило усилия очищать их каждую ночь из-за возможных потерь данных.

0
ответ дан 3 December 2019 в 05:35

Я знаю, что это очень старый вопрос, но после обновления до Lion я снова получил эту проблему. Я только что установил BlueHarvest , и, похоже, это решило мою проблему. Он удаляет ненужные файлы на моем сервере Linux.

2
ответ дан 3 December 2019 в 05:35

Теги

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