Вот шаги для ubuntu 18.04. Это немного немного, так как systemd-resolved не очень хорошо работает с NetworkManager при настройке с помощью dnsmasq.
Тем не менее я по-прежнему рекомендую запустить dnsmasq с NetworkManager, потому что сетевое подключение изменяется ( WIFI, wired, ...) будет обрабатываться прозрачно.
Включить dnsmasq в NetworkManager
Отредактируйте файл /etc/NetworkManager/NetworkManager.conf и добавьте строку dns=dnsmasq в [main] раздел будет выглядеть так:
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
Включить dnsmasq в NetworkManager
sudo rm /etc/resolv.conf ; sudo ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf
Настроить example.com
echo 'address=/.example.com/127.0.0.1' | sudo tee /etc/NetworkManager/dnsmasq.d/example.com-wildcard.conf
Настроить example.com
Чтобы изменения вступили в силу, необходимо перезагрузить NetworkManager.
sudo systemctl reload NetworkManager
Затем мы можем проверить, что мы можем достичь некоторый обычный сайт:
dig askubuntu.com +short
151.101.129.69
151.101.65.69
151.101.1.69
151.101.193.69
И, наконец, убедитесь, что example.com и поддомены разрешены как 127.0.0.1:
dig example.com askubuntu.example.com a.b.c.d.example.com +short
127.0.0.1
127.0.0.1
127.0.0.1
locate - метод поиска на основе базы данных. Это чертовски быстро, но это не так. Я бы предложил использовать find, который сравнительно много медленнее, но может делать то, что вам нужно:
find /home/forfun/netstream/ -name '*.cpp'
Альтернативно, если вы довольны результатом поиска, но просто хотите обрезать вы можете всегда его пропустить через grep:
locate '*.cpp' | grep 'forfun/netstream'