Как копировать большое число файлов в Alt Linux?

Как копировать большое число файлов в Alt Linux?

Занимаясь нагрузочным/стресс тестированием, столкнулся с проблемой копирования большого числа файлов.При малом количестве файлов (5000) копирование обычной командой cp через терминал работало без проблем.

Однако, когда речь зашла о 70 000 файлов, то копирование не работало. Перепробовал множество команд, но все они выдавали одну и ту же ошибку: «Слишком длинный список аргументов».

Команды, которые не сработали:

cp /dir1/* /dir

find . -type f copy /dir1/* /dir2

find . -maxdepth 1 -name “*.txt” /dir1/* /dir2

Потом я выяснил, что это происходит из-за ограничений максимального размера буфера командной строки. Кстати, это параметр управляется администратором системы в переменной окружения ARG_MAX. Но не стал заморачиваться с изменением данного параметра.

Опытном путем нашел правильную команду:

cp -r /dir1/. /dir2

Таким образом, главным решением данной проблемы была замена "звездочки" на "точку". И аналогичное решение должно помочь и для команд, например, mv, rm.

Если было полезно, ставь лайк! Спасибо!

Начать дискуссию