So, through typing several commands I've found that there's not only ls, but l and la too. There doesn't appear to be any man entries on Ubuntu 12.14. They all appear to do similar things with minor differences:

$ ls
app        config     CONTRIBUTING.md  doc       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script  tmp     VERSION
CHANGELOG  config.ru  db               features  Gemfile.lock  lib        log      PROCESS.md      public    README.md  spec    vendor
$ la
app      CHANGELOG  config.ru        db   features  Gemfile       .git        Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   .rspec  .secret     spec  .travis.yml  VERSION
.bundle  config     CONTRIBUTING.md  doc  .foreman  Gemfile.lock  .gitignore  lib        log      PROCESS.md      public    README.md  script  .simplecov  tmp   vendor
$ l
app/       config/    CONTRIBUTING.md  doc/       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script/  tmp/     VERSION
CHANGELOG  config.ru  db/              features/  Gemfile.lock  lib/       log/     PROCESS.md      public/   README.md  spec/    vendor/

Just as a bit of trivia, are there more of these and what do they do? Is here any place to find this out? Unfortunately, google searching these commands gets ignored because they're so short.

  • 1
    Most likely they are aliased to something already existing. AFAIK, there is no la or l commands. Try \la and \l to bypass possible aliases. – mkc Jan 13 '14 at 22:32
  • Sure enough, the only one that works is \ls. I take that to mean they'd all be aliases of ls then? – Seiyria Jan 13 '14 at 22:46
  • Correct, the absence of executables tells you they're aliases. See my answer for other ways to determine this. – slm Jan 13 '14 at 22:51


ls is a command, l and la are most likely aliases which make use of the command ls. If you run the command alias you can find all the aliases on your system.

$ alias | grep -E ' l=| la='

This will return all the aliases that match the pattern l=... or la=....

Debugging it further

You can also use the command type to see how a particular command is getting executed. Is it a command, an alias, or a function.


On my system I have the command ls aliased so that it calls ls but also includes a bunch of extra switches, like so:

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

In the above output you can see that ls is aliases, but then also on my system's $PATH in the directories /usr/bin and /bin.

|improve this answer|||||
  • Thank you for the in-depth example. I learned a bit more about linux today! – Seiyria Jan 14 '14 at 18:29
  • @Seiyria - you're quite welcome. Thanks for the Q and hope to see you on our site in the future. Good luck with your foray into Linux! – slm Jan 14 '14 at 18:33

They are just alias of the ls command with some options. enter image description here

man ls will list out all the options and their purpose. You can make your own alias by executing on the terminal or adding in .bashrc something like: alias lsl='ls -lrt'

|improve this answer|||||
  • 3
    Code should be formatted as code, not as a screenshot, unless colours are being demonstrated. – Tim Feb 17 '16 at 17:43

Try la -help on BSD Unix systems to get more information on la. I also found la as a result of a typo.

|improve this answer|||||
  • 1
    Are you saying la is a different command and not a alias on your BSD system? – Anthon Jun 4 '15 at 14:42

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.