Как удалить дубликаты версий файлов, начинающиеся с `._`, созданные при переносе файлов с ПК на Mac?

Очень способный молодой человек установил Ubuntu на мой Mac, но я не знаю, как он это сделал.

Когда я копирую файлы на свой MacBook Pro с другого «обычного» ПК с Ubuntu, я нахожу много дубликатов файлов с префиксом ._ (подчеркивание точки).

При поиске в Интернете я обнаружил, что все ответы на этот вопрос связаны с OSX.

Не будучи очень техничным, я был бы признателен, если бы кто-нибудь отправил мне команду терминала, чтобы стереть все файлы на моем Ubuntu-Mac с префиксом ._ ... если, конечно, это не приведет к катастрофическим последствиям!

0
задан 23 December 2017 в 21:58

1 ответ

Вы можете удалить файлы с помощью rm, но, как вы уже догадались, эта команда имеет свои риски. Для предотвращения бедствий есть пакет safe-rm, поэтому я рекомендую сначала установить его с помощью:

sudo apt install safe-rm

. Он автоматически не позволит вам удалить что-либо важное для системы.

Теперь для вывода списка всех файлов, начинающихся с ._, в текущем каталоге выполните:

ls -1 ._*

Чтобы удалить все файлы, начиная с ._, в текущем каталоге , запрашивая каждый отдельный do:

rm -i ._*

Удалить все файлы, начиная с ._, в текущем каталоге , не спрашивая - Внимание! - do:

rm ._*

Чтобы сделать это рекурсивно, вы можете использовать функцию extglob, которую необходимо включить с помощью shopt -s extglob (один раз на окно терминала, где вы хотите его использовать). После этого вы можете выполнить

rm -i **/._*

, и он удалит каждый файл ._ в текущем каталоге, а также его подкаталоги (и запросит каждый из них, как вы уже догадались).

Звездочка * является специальным символом оболочки и просто соответствует любой строке, поэтому ._* соответствует любому файлу, начинающемуся с ._. Шаблон globstar **, за которым следует /, соответствует каталогам и подкаталогам и нуждается в опции extglob, которая по умолчанию не включена.

0
ответ дан 23 December 2017 в 21:58

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

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