Does Linux have software protection on USB? Or has the magic smoke escaped? I'm making a GUI in Python that will control an Arduino via serial monitor. I have 6 input pins grounded and I'm taking 5V from the board (powered from USB) whilst serial monitoring and everything's going beautifully.
I'm so impressed by all these flickering 0's and 1's that I drop my flying lead straight onto the tiny cap behind the USB connector on the UNO. Everything is definitely not going beautifully now.  My serial data is frozen mid-string.
I try to connect again with my serial monitor software:

Error: Could not open device /dev/ttyUSB0

Power off and on my PC and the Arduino, same result. So, I connect another board a nano this time.
The Arduino Web Editor recognizes that I have connected a Nano, but when I try to upload my code the Arduino Web Editor says this:

avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied

So, I put this in to terminal:
sudo chmod a+rw /dev/ttyACM0
chmod: cannot access '/dev/ttyACM0': No such file or directory
sudo chmod a+rw /dev/ttyusb0
chmod: cannot access '/dev/ttyusb0': No such file or directory

Thought I might have fried my USB but it's still accepting flash drives being plugged in, and I have connected to both front and back USBs with the same results. And I have power-cycled my PC.
So, not sure if I fried my Arduino, (but having 2 Arduinos with the same fault seems unlikely, especially as one was not attached when I dropped the flying lead).
Magic smoke escaped from my PC USB ports, but again it seems unlikely that front and back would be dead whilst allowing USB sticks to communicate.
Is there some kind of software fusing preventing communication that needs to be/can be reset? Or could something have become corrupted maybe?
I'm on Ubuntu 20. If anyone knows of a command I can give that will bring ttyusb0 back to life, that would be great.
The fact that you're referencing ttyUSB0 tells me you have cheap Chinese clones and not genuine Ardunios.  These are usually based around the CH340 USB interface chip which is notoriously unreliable.
Your UNO is dead.
My supposition is that plugging it in cripples the CH340 driver.  Any other boards that you subsequently plug in can not be recognised because the driver is in a bad state.
To prove this:

Unplug the UNO
Reboot (power cycle) the computer
Plug in the Nano

It should recognise the Nano fine.

Unplug the Nano
Plug in the UNO

It should fail now.

Unplug the UNO
Plug in the Nano

The Nano should now also fail.
If that sequence is correct then the Uno is definitely dead. Throw it away, or at least never plug it in through USB ever again (you could program over serial through the TX/RX pins or using ICSP as if it were a breadboard Arduino though).