Сервер: Удаление файлов из каталога
Удаление большого (1m+) количества файлов из каталога.
1. Если количество файлов не слишком велико, то можно справиться командой rm
# Удалить 1 файл rm /usr/files/cache/common.log # Удалить несколько файлов rm /usr/files/cache/common.log /usr/files/cache/secure.log # Удалить все файлы в каталоге /usr/files/cache/ rm /usr/files/cache/* # Удалить все файлы в каталоге и подкаталоге. Удалить рекурсивно rm -r /usr/files/cache/* # Удалить все файлы соответствующие маске *.cache rm /usr/files/cache/*.cache
2. Если файлов слишком много, то вы получите ошибку Слишком длинный список аргументов. Это означает, что количество файлов, которые вы пытаетесь удалить, превышает максимально допустимое количество аргументов в командной строке.
Тогда воспользуйтесь командой find для поиска файлов, которые вы хотите удалить, и передачи их в команду rm по одному файлу за раз.
# Найти в указанном каталоге только файлы (-type f) в имени которых содержится ключ (-name "*.cache.php") и удалить find /usr/files/cache/ -type f -name "*.cache.php" -delete
Максимально допустимое количество аргументов в командной строке зависит от операционной системы и конфигурации системы.
В большинстве операционных систем, включая Linux и macOS, максимально допустимое количество аргументов ограничено размером командной строки. Размер командной строки определяется переменной окружения "ARG_MAX", которая определяет максимальный размер буфера командной строки в байтах. Значение "ARG_MAX" может варьироваться в зависимости от конфигурации системы и может быть изменено администратором системы.
Комментарии