If we look inside the /dev directory, we find lots of files that represent physical devices that can be hardware or not. These device files can represent partitions; loopback is used to access plain files as if they were block devices. ISO files, for example, can be mounted as if they were CD-ROMs. Some of this device files are quite unusual, but we have already heard of them, for instance, /dev/null, /dev/zero, /dev/urandom, /dev/tcp, and /dev/tcp.
These are called pseudo-devices, and they represent and provide access to some facilities. For instance, all this is moved or redirected to the /dev/null fall in a black hole and disappears, whereas /dev/urandom is a good way to get a random string when needed:
cat /dev/urandom | head -c 25 | base64
HwUmcXt0zr6a7puLtO1xyKMrAdZrRqIrgw==
With /dev/tcp or /dev/udp, we get access to a socket through which we can communicate...