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

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

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

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

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

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

3 ответа

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

sudo apt install safe-rm

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

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

ls -1 ._*

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

[ f3]

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

rm ._*

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

rm -i **/._*

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

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

0
ответ дан 22 May 2018 в 15:57
  • 1
    Я хотел бы добавить к моей благодарности «десерт». - мои наилучшие пожелания в 2018 году, когда я нечаянно коснулся кнопки ввода. – Garoolgan 26 December 2017 в 15:17
  • 2
    Извините, я не знал о " check & quot ;. еще раз спасибо – Garoolgan 28 December 2017 в 00:18

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

sudo apt install safe-rm

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

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

ls -1 ._*

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

rm -i ._*

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

rm ._*

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

rm -i **/._*

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

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

0
ответ дан 18 July 2018 в 00:34

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

sudo apt install safe-rm

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

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

ls -1 ._*

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

rm -i ._*

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

rm ._*

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

rm -i **/._*

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

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

0
ответ дан 24 July 2018 в 17:15

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

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