What do the symbols displayed by ls -F mean?

I noticed that if I run ls -F on a directory, some of the entries have a * or a @ after them.

<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="becdcecbdadbccfecbdccbd0cacb">[email protected]</a>:~$ ls -F /sbin
acpi_available*   getpcaps*           lvmconf*                 ntfscp*        start-stop-daemon*
agetty*           getty*              <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="88e4fee5ece1fbe3fbebe9e6c8">[email protected]</a>             ntfslabel*     <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="aad9decbdedfd9ea">[email protected]</a>
alsa*             <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c5ada4a9b185">[email protected]</a>               lvmdump*                 ntfsresize*    <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ccbfb8a3bc8c">[email protected]</a>
alsactl*          hdparm*             <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3f5349524c5e5b5c7f">[email protected]</a>    

<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e0939095848592a09582958e9495">[email protected]</a>:~$ ls -F ~
daq-0.6.1/  examples.desktop       noname-cache.lib  snort-2.9.1/   Templates/
Desktop/    jpgraph-1.27.1/        noname.sch        snortfiles/    Ubuntu One/
Documents/

According to the ls man pages

<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="95e6e5e0f1f0e7d5e0f7e0fbe1e0">[email protected]</a>:~$ man ls
...
-F, --classify
  append indicator (one of */=>@|) to entries
...

I’m guessing that @ means symbolic link,

What do these other indicators mean ( */=>@| ) ?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

ls -F appends symbols to filenames. These symbols show useful information about files.

If you want this behavior to be the default, add this to your shell configuration: alias ls='ls -F'.

Method 2

Just to add how I found this info. As indicated at the bottom of man ls:

Full documentation at: https://www.gnu.org/software/coreutils/ls
or available locally via: info ‘(coreutils) ls invocation’

Following this, we see

‘-F’ ‘–classify’ ‘–indicator-style=classify’ 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. Do not follow symbolic
links listed on the command line unless the –dereference-command-line
(-H), –dereference (-L), or –dereference-command-line-symlink-to-dir
options are specified.

on https://www.gnu.org/software/coreutils/manual/coreutils.html#General-output-formatting


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x