Почему программа «UpdatedB» работает так быстро?

Вы можете использовать команду gvfs-copy . Синтаксис:

gvfs-copy source-URI destination-URI

Итак, это должно работать:

gvfs-copy file:///home/user/eos7d-v205-win/7D000205.FIR file:///run/user/1000/gvfs/gphoto2\:host\=%5Busb%3A001%2C012%5D/
22
03.01.2019, 13:49
2 ответа

Ответ зависит от версии locate, которую вы используете, но есть большая вероятность, что это mlocate, чья updatedbработает быстро, избегая полного сканирования диска :

.

mlocate is a locate/updatedb implementation. The 'm' stands for "merging": updatedb reuses the existing database to avoid rereading most of the file system, which makes updatedb faster and does not trash the system caches as much.

(В базе данных хранится временная метка каждого каталога, ctimeили mtime, в зависимости от того, что новее.)

Как и большинство реализаций updatedb, mlocateтакже будут пропускать файловые системы и пути, которые он настроен игнорировать. По умолчанию в случае mlocateих нет, но дистрибутивы обычно предоставляют базовую updatedb.conf, которая игнорирует сетевые файловые системы, виртуальные файловые системы и т. д. (см., например, файл конфигурации Debian ; это стандартная практика в Debian, поэтому GNU updatedbнастроен аналогично).

23
27.01.2020, 19:43

В дополнение к проверке времени модификации, mlocateтакже игнорирует определенные поддеревья файловой системы, содержащие много неинтересных или потенциально дублирующихся файлов, как указано в /etc/updatedb.conf (и описано в man обновленныйb.conf):

  • Привязать крепления
  • Некоторые виды файловых систем (9p, afs, bdev и т. д.)
  • Базы данных репозитория VCS (.git,.hg и т. д.)
  • Некоторые жестко закодированные -каталоги (/media, /tmp, /var/spool/cups и т. д. ).
9
27.01.2020, 19:43

Теги

Похожие вопросы