Мне нужно найти огромные файлы на сервере Linux, где многие люди будут обрабатывать огромные файлы, и будет происходить загрузка данных. Команда "find" требует больше времени для вывода. Есть ли другой способ ускорить результат моей команды, кроме упрощения пути поиска?
3 ответа
Вы можете использовать dnotify
. Вы не указали точно, что вы хотите сделать, поэтому я не могу быть более конкретным, но я отмечу, что на странице справочного руководства говорится:
dnotify - выполняет команду при изменении содержимого каталога
Например, эта команда
dnotify -CD -r /home/my_name -e echo change to {}
напечатает "изменить на", а затем имя файла меняется, каждый раз, когда файл создается или удаляется в /home /my_name или любом из его подкаталогов.
Вы можете связать это с ранее созданным списком существующих файлов, чтобы сохранить актуальный список файлов, который будет прочитан вместо запуска find.
Используйте Apache Lucene 4.6.0 или ownCloud Server 5.
Apache Solr 4.6.0 для быстрого поиска личных данных.
Альтернатива бесплатной платформе Microsoft Windows: SharePoint 2013 Foundation.
1) Человек найти.
2) Если у вас относительно мало или не очень важные изменения: создайте кеш из вашей иерархии каталогов с помощью команды find -type f ina. Однажды. Позже вы можете использовать grep в этом файле, что намного быстрее.