ls 

Send to Kindle
home » snippets » os_x » terminal » ls



Interesting Flags

Flag Description
-@ Display extended attribute keys and sizes in long (-l) output.
-e Print the Access Control List (ACL) associated with the file, if present, in long (-l) output.
-O Include the file flags in a long (-l) output.
-A aka "Almost All". List all entries except for '.' and '..'. Always set for the super-user.
-B Force printing of non-printable characters (as defined by ctype(3) and current locale settings) in file names as \xxx, where xxx is the numeric value of the character in octal.
-b As -B, but use C escape codes whenever possible.
-w Force raw printing of non-printable characters. This is the default when output is not to a terminal.
-d Directories are listed as plain files (not searched recursively).
-F Display a slash (/) immediately after each pathname that is a directory, an asterisk (*) after each that is executable, an at sign (@) after each symbolic link, an equals sign (=) after each socket, a percent sign (%) after each whiteout, and a vertical bar (`
-G Enable colorized output. This option is equivalent to defining CLICOLOR in the environment. (See below.)
-h When used with the -l option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less using base 2 for sizes.
-i For each file, print the file's file serial number (inode number).
-L Follow all symbolic links to final target and list the file or directory the link references rather than the link itself. This option cancels the -P option.
-n Display user and group IDs numerically, rather than converting to a user or group name in a long (-l) output. This option turns on the -l option.
-o List in long format, but omit the group id.
-P If argument is a symbolic link, list the link itself rather than the object the link references. This option cancels the -H and -L options.
-p Write a slash (/) after each filename if that file is a directory.
-R Recursively list subdirectories encountered.
-W Display whiteouts when scanning directories. (-S) flag).

Sorting Flags

Flag Description
-S Sort files by size
-t Sort by time modified (most recently modified first) before sorting the operands by lexico-graphical lexicographical graphical order.
-u Use time of last access, instead of last modification of the file for sorting (-t) or long printing (-l).
-U Use time of file creation, instead of last modification for sorting (-t) or long output (-l).
-r Reverse the order of the sort to get reverse lexicographical order or the oldest entries first (or largest files last, if combined with sort by size

All Flags

Flag Description
-@ Display extended attribute keys and sizes in long (-l) output.
-1 Force output to be one entry per line. This is the default when output is not to a terminal.
-A aka "Almost All". List all entries except for '.' and '..'. Always set for the super-user.
-a Include directory entries whose names begin with a dot (.).
-B Force printing of non-printable characters (as defined by ctype(3) and current locale settings) in file names as \xxx, where xxx is the numeric value of the character in octal.
-b As -B, but use C escape codes whenever possible.
-C Force multi-column output; this is the default when output is to a terminal.
-c Use time when file status was last changed for sorting (-t) or long printing (-l).
-d Directories are listed as plain files (not searched recursively).
-e Print the Access Control List (ACL) associated with the file, if present, in long (-l) output.
-F Display a slash (/) immediately after each pathname that is a directory, an asterisk (*) after each that is executable, an at sign (@) after each symbolic link, an equals sign (=) after each socket, a percent sign (%) after each whiteout, and a vertical bar (`
-f Output is not sorted. This option turns on the -a option.
-G Enable colorized output. This option is equivalent to defining CLICOLOR in the environment. (See below.)
-g This option is only available for compatibility with POSIX; it is used to display the group name in the long (-l) format output (the owner name is suppressed).
-H Symbolic links on the command line are followed. This option is assumed if none of the -F, -d, or -l options are specified.
-h When used with the -l option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less using base 2 for sizes.
-i For each file, print the file's file serial number (inode number).
-k If the -s option is specified, print the file size allocation in kilobytes, not blocks. This option overrides the environment variable BLOCKSIZE.
-L Follow all symbolic links to final target and list the file or directory the link references rather than the link itself. This option cancels the -P option.
-l (The lowercase letter ell.) List in long format. (See below.) If the output is to a terminal,a total sum for all the file sizes is output on a line before the long listing.
-m Stream output format; list files across the page, separated by commas.
-n Display user and group IDs numerically, rather than converting to a user or group name in a long (-l) output. This option turns on the -l option.
-O Include the file flags in a long (-l) output.
-o List in long format, but omit the group id.
-P If argument is a symbolic link, list the link itself rather than the object the link references. This option cancels the -H and -L options.
-p Write a slash (/) after each filename if that file is a directory.
-q Force printing of non-graphic characters in file names as the character ?; this is the default when output is to a terminal.
-R Recursively list subdirectories encountered.
-r Reverse the order of the sort to get reverse lexicographical order or the oldest entries first (or largest files last, if combined with sort by size
-S Sort files by size
-s Display the number of file system blocks actually used by each file, in units of 512 bytes, where partial units are rounded up to the next integer value. If the output is to a terminal, a total sum for all the file sizes is output on a line before the listing. The environment variable BLOCKSIZE overrides the unit size of 512 bytes.
-T When used with the -l (lowercase letter ell) option, display complete time information for the file, including month, day, hour, minute, second, and year.
-t Sort by time modified (most recently modified first) before sorting the operands by lexico-graphical lexicographical graphical order.
-u Use time of last access, instead of last modification of the file for sorting (-t) or long printing (-l).
-U Use time of file creation, instead of last modification for sorting (-t) or long output (-l).
-v Force unedited printing of non-graphic characters; this is the default when output is not to a terminal.
-W Display whiteouts when scanning directories. (-S) flag).
-w Force raw printing of non-printable characters. This is the default when output is not to a terminal.
-x The same as -C, except that the multi-column output is produced with entries sorted across, rather than down, the columns.

The -1, -C, -x, and -l options all override each other; the last one specified determines the format used.

The -c and -u options override each other; the last one specified determines the file time used.

The -B, -b, -w, and -q options all override each other; the last one specified determines the format used for non-printable characters.

The -H, -L and -P options all override each other (either partially or fully); they are applied in the order specified.

By default, ls lists one entry per line to standard output; the exceptions are to terminals or when the -C or -x options are specified.

File information is displayed with one or more s separating the information associated with the -i, -s, and -l options.