Em relação à sua primeira pergunta "descobrir se um flash USB foi conectado", o kernel relatará a inserção de dispositivos de armazenamento USB.
Exemplo abaixo, que assume que sua distro Linux está usando systemd
(outras distros podem gravar em /var/log/messages
ou arquivo similar).
# journalctl --since '2018-05-19' --until '2018-05-20' | grep 'kernel: usb'
May 19 12:22:15 localhost.localdomain kernel: usb 1-1.1.1: USB disconnect, device number 7
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: new high-speed USB device number 8 using ehci-pci
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: New USB device found, idVendor=13fe, idProduct=1f00
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: Product: Patriot Memory
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: Manufacturer:
May 19 12:22:19 localhost.localdomain kernel: usb 1-1.1.1: SerialNumber: 07870CA23F48
May 19 12:22:19 localhost.localdomain kernel: usb-storage 1-1.1.1:1.0: USB Mass Storage device detected
#