LS(1) | General Commands Manual | LS(1) |
ls
— list
directory contents
ls |
[-1AaCcdFfgHhikLlmnopqRrSsTtux ]
[file ...] |
For each operand that names a file of a type
other than directory, ls
displays its name as well
as any requested, associated information. For each named directory,
ls
displays the names of files contained within that
directory, as well as any requested, associated information.
If no operands are given, the contents of the current directory
are displayed. If more than one operand is given, non-directory operands are
displayed first; directory and non-directory operands are sorted separately
and in lexicographical order. By default, ls
lists
one entry per line to standard output; the exceptions are to terminals or
when the -C
, -m
, or
-x
options are specified.
The options are as follows:
-1
-A
-a
-C
-c
-t
) or printing
(-g
, -l
, or
-n
).-d
-F
-f
-a
.-g
-l
, except that the
owner is not printed.-H
-d
,
-F
, or -l
options are
specified.-h
-i
-k
-s
option, causing the sizes to be
reported in kilobytes. Overrides any value specified by the
BLOCKSIZE
environment variable.-L
ls
writes the name of the link
itself and not the file referenced by the link.-l
-m
-n
-l
, but retain user and
group IDs in a numeric format. The output of -gn
and -ng
is identical: a long listing with
numerical group ID, and no numerical user ID. The output of
-ln
and -nl
is identical:
a long listing with numerical group and user ID.-o
-g
,
-l
, or -n
) output.-p
-q
-R
-r
-S
-s
-k
flag or
BLOCKSIZE
environment variable.-T
-g
, -l
,
or -n
) options is also specified.-t
-u
-t
) or printing (-g
,
-l
, or -n
).-x
It is not an error to specify more than one of the following
mutually exclusive options: -1
,
-C
, -g
,
-l
, -m
,
-n
, and -x
; and
-c
, -f
,
-S
, -t
, and
-u
. Where more than one option is specified from the
same mutually exclusive group, the last option given overrides the others,
except that -l
always overrides
-g
; and -f
always overrides
-c
, -S
,
-t
, and -u
.
If the -g
, -l
, or
-n
options are given, the following information is
displayed for each file: mode, number of links, owner (though not for
-g
), group, size in bytes, time of last modification
(“mmm dd HH:MM”), and the pathname. In addition, for each
directory whose contents are displayed, the first line displayed is the
total number of blocks used by the files in the directory. Blocks are 512
bytes unless overridden by the -k
option or
BLOCKSIZE
environment variable.
If the owner or group name is not a known user or group name,
respectively, or the -n
option is given, the numeric
ID is displayed.
If the file is a character special or block special file, the major and minor device numbers for the file are displayed in the size field.
If the -T
option is given, the time of
last modification is displayed using the format “mmm dd HH:MM:SS
ccyy”.
If the file is a symbolic link, the pathname of the linked-to file is preceded by “->”.
The file mode printed under the -g
,
-l
, or -n
options consists
of the entry type, owner permissions, group permissions, and other
permissions. The entry type character describes the type of file, as
follows:
The next three fields are three characters each: owner permissions, group permissions, and other permissions. Each field has three character positions:
These next two apply only to the third character in the last group (other permissions):
In addition, if the -o
option is
specified, the file flags (see
chflags(1)) are displayed as
comma-separated strings in front of the file size, abbreviated as
follows:
BLOCKSIZE
BLOCKSIZE
is set, and
the -k
option is not specified, the block counts
(see -s
) will be displayed in units of that size
block.TZ
The ls
utility exits 0 on success,
and >0 if an error occurs.
List the contents of the current working directory in long format:
$ ls -l
In addition to listing the contents of the current working directory in long format, show inode numbers, file flags (see chflags(1)), and suffix each filename with a symbol representing its file type:
$ ls -lioF
List the files in /var/log, sorting the output such that the mostly recently modified entries are printed first:
$ ls -lt /var/log
The ls
utility is compliant with the
IEEE Std 1003.1-2008 (“POSIX.1”)
specification, except behaviour for the -o
flag
differs.
The flags [-hT
], as well as the
BLOCKSIZE
environment variable, are extensions to
that specification.
The flags [-go
] are marked by
IEEE Std 1003.1-2008 (“POSIX.1”) as
being an X/Open System Interfaces option.
Historically, the -g
flag was used to
specify that the group field be included in long listings. The group field
is now automatically included in the long listing for files and the meaning
of the -g
flag has been changed in order to be
compatible with the IEEE Std 1003.1-2008
(“POSIX.1”) specification.
An ls
utility appeared in
Version 3 AT&T UNIX.
April 1, 2014 | OpenBSD-5.6 |