30

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.

3
  • 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. Jan 13, 2014 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, 2014 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, 2014 at 22:51

3 Answers 3

30

Aliases

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.

Example

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.

2
  • Thank you for the in-depth example. I learned a bit more about linux today!
    – Seiyria
    Jan 14, 2014 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, 2014 at 18:33
11

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'

1
  • 3
    Code should be formatted as code, not as a screenshot, unless colours are being demonstrated.
    – Tim
    Feb 17, 2016 at 17:43
-1

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

1
  • 2
    Are you saying la is a different command and not a alias on your BSD system?
    – Anthon
    Jun 4, 2015 at 14:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .