English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Обратите внимание, что слово
Недавно, оптимизируя сервер, я обнаружил, что в каталогах maildrop и clientmqueue под postfix есть大量的文件. Вход в эти каталоги и использование команды ls - это глупое действие, а的直接执行 rm *, не было никакого отклика, количество файлов также не уменьшилось, то есть, использование команды rm для удаления файлов в каталогах с огромным количеством файлов является неэффективным.
Так что правильный способ что ли? Есть два варианта:
Первый способ:
find /path/to/directory -type f -exec rm {} \;
Второй способ:
ls -1 /path/to/directory | xargs -I{} rm {}
Два вышеупомянутых метода могут успешно удалить большое количество файлов, и они очень быстры. Но есть и еще один更好的 метод, например, чтобы удалить упомянутый выше каталог clientmqueue, который содержит все почтовые сообщения, можно использовать следующий метод:
service sendmail stop cd /var/spool mv clientmqueue clientmqueue-todelete mkdir clientmqueue chown --reference=clientmqueue-todelete clientmqueue chmod --reference=clientmqueue-todelete clientmqueue service sendmail start rm -rf clientmqueue-todelete
Приведенный выше метод включает в себя переименование каталога и использование параметра --reference для重建 каталога, а затем удаление переименованного каталога. Удаление каталога напрямую очень быстро. Также можно оставить резервную копию и не удалять. Это безопаснее.
Резюме
Вот и все, что есть в этой статье. Надеюсь, что контент статьи поможет вам в изучении или работе. Если у вас есть вопросы, вы можете оставить комментарий для обсуждения, спасибо за поддержку учебника 'Крик'.