fileunixmanpage

what is a regular file on unix


I saw the man page of test.

where the below is mentioned.

-e  pathname
    True if pathname resolves to a file that exists. False if pathname cannot be resolved.
-f  pathname
    True if pathname resolves to a file that exists and is a regular file. False if pathname cannot be resolved, or if pathname resolves to a file that exists but is not a regular file.

the -f flag says True if pathname resolves to a file that exists and is a regular file Could anybody please tell what is a regular file and what is not a regular file.


Solution

  • Non-regular files are devices, pipes, sockets... try [ -f /dev/tty0 ], for example. Symlinks are also non-regular, but they're resolved by test -f.