When I do a ls in a folder, I sometimes get entries like:


I believe:

~ means that it's a swap copy, however what does the * mean?

  • Could you run alias ls and send the output? Jun 25 '14 at 10:42
  • Even better type ls (just in case it was a function and not an alias).
    – Hastur
    Apr 23 '15 at 15:57

Your ls seems to have an alias to ls -F. It shows the filetype:

* for executable
/ for directory
@ for symlink
| for fifo
= for socket
  • 3
    @Thariq S: You might notice ~ is not listed here. It is a part of the file name, not just an indicator of type.
    – choroba
    Dec 20 '11 at 21:04

It means that the file has execute permission.

See the "-F, --classify" option in the ls(1) man page. Depending on the shell configuration this info may be printed by "default" (say, if you have an alias ls="ls -F").

  • 1
    Find out whether ls is aliased using type ls.
    – Daniel Beck
    Dec 20 '11 at 19:52

ls -F appends a single character to a file name -

* executable
@ link 
/ directory

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.