Как рекурсивно удалить тип файла в Linux в каталоге и всех его подкаталогах

Рекурсивно удалить тип файла

Конечно, в некоторых случаях вы проверяли, что у вас есть бесполезный тип файла в нескольких папках, который занимает мало места, но вы просто не хотите, чтобы он был на вашем компьютере. Например, в macOS создаются некоторые файлы. .DS_Store которые сохраняют информацию о значке папки, ее размере и положении, а в Windows существуют аналогичные файлы desktop.ini. Что нам делать, если у нас есть каталог, полный подкаталогов, и мы хотим удалить те или иные типы файлов? Что нам нужно сделать, это рекурсивно стереть Каждый из них.

Это то, что мы можем делать со всеми типами файлов. Например, если у нас есть жесткий диск с музыкой, у нас есть плеер, который загрузил обложки, и мы не хотим, чтобы они сохранялись, мы можем использовать ту же команду, которую мы подробно рассмотрим ниже, чтобы удалить их. Конечно, учитывая, что мы собираемся рекурсивно удалять файлы каталогов и их подкаталоги с помощью терминала, и что они будут потеряны навсегда, не повредит быть осторожным и / или провести тест перед удалением всего, что мы хотим удалить.

Рекурсивно удалять файлы определенного типа с терминала

Команды для примеров файлов macOS .DS_Store будут следующими:

cd ruta/a/directorio
find . -name '*.DS_Store' -type f -delete

Из предыдущих команд первая поместит нас в папку, с которой мы хотим начать, то есть ту, которая содержит все файлы .DS_Store, которые мы хотим удалить. Второй - тот, который удалит все файлы .DS_Store из первая папка и ее подпапки или каталоги. Если мы хотим удалить фотографии из ранее упомянутых музыкальных папок, мы должны поместить тип расширения в кавычки, например «* .jpg».

Честно говоря, это то, что я сделаю в тот день, когда перестану использовать Cantata в качестве музыкального проигрывателя по умолчанию. Кантата создает и скрывает информационные файлы с тем же именем, что и песни, у которых есть точка и низкая полоса впереди (например, ._Song). Когда мне это понадобится, мне нужно будет использовать следующую команду: найти. -name '._ *' -type f -delete.

Помогло ли это небольшое руководство вам рекурсивно удалять файлы с терминала?

Команда grep
Теме статьи:
Команда grep: мощный инструмент для поиска текста в Терминале

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Себастьян Кастро сказал

    Спасибо, но в вашем коде есть ошибка. Вам необходимо использовать регулярное выражение «*», то есть «* .DS_STORE». Рекомендую исправить. Что ж, для тех, кто мало знает bash, код, который вы дали, не подойдет. Привет!