Everything is a file in Linux

In UNIX and Linux everything is a File. Well almost.

The correct statement would be everything is a file descriptor or a process. The point to everything is a file is that common tools can be used. I/O access can be done using the same set of operations. In windows you have different reads for sockets, files and pipes with different.  With Unix/Linux treating everything as a simple file descriptor you have one read system call.  This removes the need for having multiple operations with specific uses doing the same thing.

As example of everything is a file we will take a look at a directory file.

I hope the high level overview in this video explained why to go deeper into this would get into kernel development and beyond what I do.