Предполагается, что новые имена файлов в порядке вместе со старыми именами файлов.Вместо того, чтобы перемещать их по отдельности, создайте жесткие ссылки с новыми именами, а затем удалите старые ссылки.
ln x.file 1.file
ln y.file 2.file
ln z.file 3.file
rm x.file y.file z.file
Это может потребовать некоторой корректировки в зависимости от того, когда ваша система фактически начинает искать {1,2,3}.file
вместо {x,y,z}.file
.Например, если видение 1.file
подразумевает, что {2,3}.file
должно существовать, сделайте ссылку на 1.file
last .
ln z.file 3.file
ln y.file 2.file
ln x.file 1.file
rm x.file y.file z.file
Другая идея (если возможно) состоит в том, чтобы иметьПрограмма ищет конкретный каталог , который содержит только {1,2,3}.file
.Затем вы можете переместить файлы во временный каталог, а затем атомарно переименовать каталог.
# Assuming the program looks for real/1.file, real/2.file, and real/3.file
mkdir tmp
mv x.file tmp/1.file
mv y.file tmp/2.file
mv z.file tmp/3.file
mv tmp real
В противном случае вам может потребоваться реализовать некоторую явную блокировку или (если такая вещь существует) файловую систему, которая поддерживаетсделки.