About ls -F in the man ls for -F does mention about:

-F, --classify
  append indicator (one of */=>@|) to entries

I read the following:

Where the list is:

@ indicates a symbolic link 
* indicates an executable 
= indicates a socket file 
| indicates a named pipe 
> indicates a door 
/ indicates a directory

But, where is the official Unix/Linux complete list of the indicator entries types? of course including their description

  • 1
    There isn't a "Unix/Linux complete list". The "indicators" are features of ls.
    – waltinator
    Sep 30, 2021 at 3:18

1 Answer 1


The symbols added by ls -F are specified by POSIX as follows:

Write a <slash> ('/') immediately after each pathname that is a directory, an <asterisk> ('*') after each that is executable, a <vertical-line> ('|') after each that is a FIFO, and an at-sign ('@') after each that is a symbolic link. For other file types, other symbols may be written.

This is the official specification for POSIX-compliant systems.

The last sentence in the quote above allows implementations to add other symbols for other file types; for GNU ls, the documentation specifies:

Append a character to each file name indicating the file type. Also, for regular files that are executable, append ‘*’. The file type indicators are ‘/’ for directories, ‘@’ for symbolic links, ‘|’ for FIFOs, ‘=’ for sockets, ‘>’ for doors, and nothing for regular files.

Since each implementation can add its own symbols, there is no official complete list.

  • I see - practically each link (about the list of types) complements the other - really wondered why there is no an official and unique complete list. Sep 30, 2021 at 13:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.