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.
@means symbolic link (or that the file has extended attributes).*means executable.=means socket.|means named pipe.>means door./means directory.
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