Как рекурсивно искать и удалять каталоги в 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:
- fdupes — инструмент командной строки для поиска и удаления повторяющихся файлов в Linux
- Как найти и удалить повторяющиеся/нежелательные файлы в Linux с помощью инструмента «FSlint»
- 3 способа удалить все файлы в каталоге, кроме одного или нескольких файлов с расширениями
В этой статье мы показали вам, как рекурсивно находить и удалять каталоги в Linux. Если у вас есть какие-либо вопросы или дополнительные идеи, которые вы хотите добавить к этой теме, используйте раздел комментариев ниже.