Сервер: Удаление файлов из каталога

Удаление большого (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" может варьироваться в зависимости от конфигурации системы и может быть изменено администратором системы.

Сервер Linux up: просмотров: 1.2k

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.