Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm relatively new to programming as a whole and some tutorials have been telling me to use ls -l to look at files in a directory and others have been saying ll. I know that ls is a short list, but is there a difference between the other two?

share|improve this question
You may want to take a look at which ll. You will probably discover that ll is actually an alias for ls -l. – HalosGhost Jun 17 '14 at 23:04
So then what is the difference between ls any other command I put into the shell? If I type which ls I get alias ls='ls --color=auto' /bin/ls, but if I type (for example) which cd I get /usr/bin/which: no cd in (........). EDIT: I tried it again with which mkdir and I got /bin/mkdir. What is the distinction between these commands that some of them are stored(?) in /usr/bin and some are apparently not? – Jon Jun 18 '14 at 21:45
this is an affect of your distro's default $PATH. ls is very often aliased, so your shell reports the alias (which takes precedence over the binary) and the binary's actual location (in your case, /bin/ls). If which could not find cd, then something appears terribly wrong. – HalosGhost Jun 20 '14 at 7:30
cd is a shell builtin keyword, not a program found in a filesystem. Use type cd and type ls to see what I mean. Some commands are simply overriden by shell builtins: echo exists in /bin/echo, but in bash and in fact most of modern shells, a builtin echo function is called instead (which usually has extended features). type actually tells you which one it is. – orion Feb 4 '15 at 10:00
up vote 31 down vote accepted

On many systems, ll is an alias of ls -l:

$ type ll
ll is aliased to `ls -l'

They are the same.

share|improve this answer
ll is aliased to `ls -ltr' - I am using red hat 6 – dilip May 27 '15 at 14:51
in Ubuntu 14.04 ll is aliased to 'ls -alF' – Viktor Ax Apr 12 at 3:15

As noted, ll is often defined as an alias of ls -l. In fact, ls is often an alias itself:

$ which ls
alias ls='ls --color=auto'

The actual command is ls which above is found in /usr/bin. ll is intended as a convenience, but you cannot rely on it being defined on all *nix systems, so it is good to know what it is really doing.

share|improve this answer
Great answer. I can't help by add that this is one of the reasons why relying on ls in automation (especially ad-hoc one-liners) is usually a bad idea. It has several options that change its output, and many ways to specify them. With different distributions choosing different defaults, it tends to lead to headaches. – ctt Jun 18 '14 at 2:30
I haven't seen any popular distribution to alias ls to anything else than ls --color=auto. It's either that or there is no alias. – phoops Jun 18 '14 at 7:02

In most cases, ll does not work in shell scripts.

share|improve this answer
What happens is that typically commands like ll are really aliases, that aren't defined when running scripts. – vonbrand Jun 18 '14 at 7:57
Some people have the alias in the .profile, and the alias is working in an interactive shell. After debugging/testing a new script, the script suddenly fails in crontab. Cron does not read the .profile. – Walter A Jun 18 '14 at 9:49
This is not an answer to the question, but should be a comment instead. From my little understanding, aliases are deprecated in shell scripts. – cornflakes24 Jan 23 at 20:21

ll is actually aliased to `ls -l' If you run ll, then it will show you files in the shell then you to press Enter to see the next files (more.. option). If you run ls -l, then all files will be displayed at a time.

share|improve this answer

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'
share|improve this answer

ll is an alias for ls -l.

The option -l tells the command to use a long list format. It gives back several columns, not shown when the simple ls command is used. These columns include:

  • Permissions

  • Number of hardlinks

  • File owner

  • File group

  • File size

  • Modification

  • time

  • Filename

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.