One detail we’ve been concealing up to now is that the Linux kernel
considers nearly everything to be a file. That includes directories
and devices: They’re just special kinds of files.
As you may remember, the first character of an ls -l display
represents the type of the file. For an ordinary file, this will be
simply -. Other possibilities include the following:
ddirectory
lsymbolic link
bblock device
ccharacter device
pnamed pipe
ssocket