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?

migrated from stackoverflow.com Dec 20 '11 at 19:44

This question came from our site for professional and enthusiast programmers.

  • Could you run alias ls and send the output? – Benjamin Goodacre 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
  • What does *~ mean? – phuclv Aug 15 '16 at 3:51

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

* for executable
/ for directory
@ for symlink
| for fifo
= for socket
  • 2
    @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.