Я нахожу это удивлением, как быстро определяет местоположение работы или автозавершения (что я знаю), работа в Linux.... Там кто-либо индексирует быть сделанным в фоновом режиме или как это достигается?
Это - на самом деле два абсолютно отличных вопроса.
locate
использует индекс (slocate хранилища это в /var/lib/slocate/
), это обновляется ночным cron
задание. Это ночное задание обычно работает около 1:00 или 2:00 по местному времени и полностью сканирует Вашу всю систему (включая все подключенные диски). Получающийся индекс является просто списком имен файлов.
Автоматическое заполнение обрабатывается Вашей оболочкой. Большая часть системного использования bash
, так bash-completion
набор сценариев, которые справляются, как это работает. (zsh
имеет так же названный набор, и большинство других оболочек имеет некоторую форму встроенного завершения.), Когда Вкладка нажимается, оболочка запускает скрипт, который решает, на основе того, что Вы уже ввели, что, точно, потребности, которые будут завершены. Сценарий затем генерирует список возможных завершений, которые могут или не могут быть списком файлов в текущем каталоге или списком исполняемых файлов в Вашем $PATH
. locate
команда обычно не используется для этого.
Можно сделать это с правилами udev. У меня нет человечности, но можно попробовать это. Создайте названный файл /etc/udev/rules.d/99-hide.rules
со следующим в нем:
SUBSYSTEM=="usb_device", ATTR{idVentor}=="<VENDID>", ATTR{idProduct}=="<DRIVECODE>",ENV{UDISKS_PRESENTATION_HIDE}:="1"
Где необходимо заменить поставщиком устройства хранения USB и идентификатором продукта для и поля. Узнайте это с lsusb
команда.