Files contain data, shell scripts, or programs. File names are also used to represent abstract objects such as sockets, pipes, and device drivers. The kernel does not distinguish record boundaries in regular files.
Programs can establish their own boundary markers if desired.
For example, many programs use line-feed characters to mark the end of lines. A sequence of bytes with one or more names. Directory formats are determined by the file system. Processes read directories as they do ordinary files, but the kernel reserves the right to write to a directory. Special sets of subroutines control directory entries.