The layout for permissions is defined by POSIX to be at the least-significant 9 bits, but the rest is undefined.
The format part occupies the lead 4-bits (2 octal digits), and "010" (1000 in binary) usually stands for a regular file.
The GNU coreutils version of ls uses a call to filemode(), a glibc function (exposed in the gnulib library[6]) to get the mode string.
A directory is marked with a d as the first letter in the mode field in the output of ls -dl[5] or stat, e.g. A symbolic link is a reference to another file.
A symbolic link is marked with an l (lower case L) as the first letter of the mode string, e.g. in this abbreviated ls -l output:[5] One of the strengths of Unix has always been inter-process communication.
Among the facilities provided by the OS are pipes, which connect the output of one process to the input of another.
Unlike named pipes which allow only unidirectional data flow, sockets are fully duplex-capable.
The great exception is network devices, which do not turn up in the file system but are handled separately.