Поиск по сайту:

Как рекурсивно искать и удалять каталоги в Linux


В одной из наших предыдущих статей мы объяснили, как узнать, какие каталоги и файлы занимают больше всего места на диске в файловой системе Linux. Если вы заметили, что такие каталоги больше не содержат важных файлов и подкаталогов (например, старых резервных копий, загрузок и т. д.), вы можете удалить их, чтобы освободить место на диске.

Читайте также: 10 полезных команд du (использование диска) для определения использования диска для файлов и каталогов

В этом кратком руководстве описывается, как рекурсивно находить и удалять каталоги в файловой системе Linux.

Для достижения вышеуказанной цели вы можете использовать команду find вместе с командой rm, используя приведенный ниже синтаксис. Здесь знак + в конце позволяет одновременно читать несколько каталогов.

find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} + 

Внимание. Используйте команду rm осторожно, поскольку это одна из самых опасных команд для использования в Linux: вы можете случайно удалить важную систему. каталоги, что приводит к сбою системы.

В приведенном ниже примере мы найдем каталог с именем files_2008 и рекурсивно удалим его:

$find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} + 

Вы также можете использовать find и xargs; В следующем синтаксисе действие -print0 позволяет печатать полный путь к каталогу в стандартном выводе, за которым следует нулевой символ:

find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Используя тот же пример выше, мы имеем:

find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"

И последнее, но не менее важное: если вы беспокоитесь о безопасности своих данных, возможно, вы захотите узнать 3 способа окончательного и безопасного удаления «файлов и каталогов» в Linux.

Не забудьте прочитать еще полезные статьи об управлении файлами и каталогами в Linux:

  1. fdupes — инструмент командной строки для поиска и удаления повторяющихся файлов в Linux
  2. Как найти и удалить повторяющиеся/нежелательные файлы в Linux с помощью инструмента «FSlint»
  3. 3 способа удалить все файлы в каталоге, кроме одного или нескольких файлов с расширениями

В этой статье мы показали вам, как рекурсивно находить и удалять каталоги в Linux. Если у вас есть какие-либо вопросы или дополнительные идеи, которые вы хотите добавить к этой теме, используйте раздел комментариев ниже.