Search

The Online Encyclopedia and Dictionary

 
     
 

Encyclopedia

Dictionary

Quotes

   
 

Ls


ls is a command specified by POSIX and the Single UNIX Specification, and is thus implemented in Unix and Unix-like operating systems. ls, an abbreviation of list, lists files.

Contents

History

An ls utility first appeared in Version 5 AT&T UNIX. Its name derives from a similar command in Multics which meant "list segments". Today, two popular versions of ls include the Free Software Foundation's (part of the GNU coreutils package) and the one released by various BSD distributions, such as FreeBSD, OpenBSD, NetBSD, and Apple Computer's Darwin. Both are free software and open source.

Behaviour

Unix and Unix-like operating systems maintain the idea of a current working directory, that is, where one is currently positioned in the hierarchy of directories.

ls when invoked without any arguments, lists the files in the current working directory. A directory that is not the current working directory can be specified and ls will list the files there.

Without options, ls displays files in a bare format. This bare format however makes it difficult to establish the type, permissions, and size of the files. The most common options to reveal this information are:

  • -l: long format, displaying permissions, number of hard links owner, group, size, date, and filename
  • -F appends a character revealing the nature of a file, for example, * for an executable, or / for a directory. Regular files have no suffix.
  • --color (for GNU ls) behaves akin to -F but highlights different types of files with different colors.

ls has a large number of other options, as can be discovered in the man page. It is one of the most frequently used tools, and is virtually the de-facto interface to the file system via the command line.

Sample usage

$ pwd
/home/fred
$ ls -l
drwxr--r--   1 fred  editors   4096  drafts
-rw-r--r--   1 fred  editors  30405  edition-32
-r-xr-xr-x   1 fred  fred      8460  edit
$ ls -F
drafts/ 
edition-32 
edit*

Here we can see that the user fred has a directory named drafts, a regular file called edition-32, and an executable named edit in his home directory. ls uses a special permissions notation that describes what the user, group, and "world" (everyone else) can do to the file. The first character of the permissions line indicates type (d signifies a directory, for example), and the rest of the line is split into blocks of three characters each, with the presence of a r, w, and x signifying the ability to read, write, or execute respectively. The first block represents the permissions for the user, the second for the group, and the third for world. For example, the user fred can read and write the edition-32 file, but not execute it; members of the group editors can only read this file and not write or execute it, as can everyone else.

See also

  • dir—the command in DOS that lists files, similar to ls.

External links

  • ls at the LinuxQuestions.org wiki.
  • ls.c source code of the AT&T Version 5 UNIX source code.

man pages

Last updated: 05-13-2005 07:56:04