ls -l explained Written by Guillermo Garron

Date: 2010-03-31 10:36:30 00:00

There is a command I use a lot and it is ls -l

The -l switch turns on long listing format

Here is an example of its output:

drwxr-xr-x 2 root root 4096 Mar 9 11:49 modprobe.d -rw-r--r-- 1 root root 0 Jan 11 2009 motd drwxr-xr-x 2 root root 4096 Feb 23 17:17 mplayer -rw-r--r-- 1 root root 311 Mar 31 10:01 mtab -rw------- 1 root ggarron 0 Feb 24 18:07 mtab.fuselock -rw-r--r-- 1 root root 2614 Jul 13 2009 mtools.conf drwxr-xr-x 2 root root 4096 Mar 9 11:48 mysql -rw-r--r-- 1 root root 8728 Feb 13 14:30 nanorc -rw-r--r-- 1 root root 767 Jan 4 04:40 netconfig drwxr-xr-x 3 root root 4096 Feb 23 17:17 nginx -rw-r--r-- 1 root root 2147 Jan 29 2009 nscd.conf -rw-r--r-- 1 root root 223 Jul 17 2009 nsswitch.conf -rw-r--r-- 1 root root 1451 Jun 19 2009 ntp.conf -rw-r--r-- 1 root root 415 Nov 13 19:47 ntpd.conf -rw-r--r-- 1 root root 0 Jun 18 2009 odbc.ini -rw-r--r-- 1 root root 0 Jun 18 2009 odbcinst.ini drwxr-xr-x 2 root root 4096 Feb 23 17:10 openldap -rw-r--r-- 1 root root 2408 Nov 10 20:05 pacman.conf drwxr-xr-x 2 root root 4096 Feb 23 17:18 pacman.d drwxr-xr-x 2 root root 4096 Mar 9 11:52 pam.d drwxr-xr-x 2 root root 4096 Dec 29 10:40 pango -rw-r--r-- 1 root root 737 Jun 26 2009 passwd -rw------- 1 root root 681 Jun 12 2009 passwd- drwxr-xr-x 2 root root 4096 Nov 2 16:38 pcmcia drwxr-xr-x 3 root root 4096 Mar 9 11:52 php drwxr-xr-x 5 root root 4096 Jan 7 12:44 pm drwxr-xr-x 2 root root 4096 Aug 21 2009 polipo drwxr-xr-x 5 root root 4096 Jan 31 06:37 polkit-1 drwxr-xr-x 5 root root 4096 Feb 23 17:18 ppp -rw-r--r-- 1 root root 209 Mar 30 17:41 printcap drwxrwx--- 3 privoxy privoxy 4096 Feb 23 17:18 privoxy

Let’s take this one to analyse

-rw-r--r-- 1 root root 209 Mar 30 17:41 printcap

We will split the output for better understanding.

Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9 Field 10 - rw- r-- r-- 1 root root 209 Mar 30 17:41 printcap

The first field could be

- for File, d for Directory, l for Link

The second,third,fourth fields

Those are permissions that means read, write and execute, and comes in three different fields that belongs to the permission the:

second: The owner has over the file

third: The group has over the file

fourth: Everybody else has over the file

The fifth field

This field specifies the number of links or directories inside this directory.

The sixth field is the user

The user that owns the file, or directory

The seventh field is te group

The group that file belongs to, and any user in that group will have the permissions given in the third field over that file.

The eighth field

The size in bytes, you may modify this by using the -h option together with -l this will have the output in k,M,G for a better understanding.

The ninth field

The date of last modification

The tenth field

The name of the file

And that is it, hope you now understand better the output of ls -l command.