DIRED 1 "15 November 2002" "Version 4.04"

Table of contents


dired - file directory editor


dired [ -? ] [ -b ] [ -d ] [ -ffirstfile ] [ -Ffirstfile ] [ -g[gid-or-groupname] ] [ -h ] [ -m ] [ -[s|r][c|g|G|i|l|n|N|r|s|t|u|U|w] ] [ -u[uid-or-username] ] [ -V ] [ -v ] [ -w[f|h|number] ] [ directory-list|file-list ]


dired displays a long-form ls(1) directory listing on the screen of a display terminal and allows you to `edit' and peruse that listing by moving up and down, deleting, undeleting, editing, and displaying entries. The emacs(1) text editor provides a similar capability in an editor window. The shell TERM variable should be set to the standard string which the Berkeley termcap library uses for distinguishing terminals. With no argument, the connected directory is used. With only one argument, if that argument is a directory, it is used. With multiple arguments, (or a single non-directory argument) the argument(s) are interpreted as filenames. dired then types `Reading' and gets information about the various files/directories in your specification. This may take a short while (depending on how many you give it), so it types one period (.) after the word `Reading' for every 10 files it has gathered information about. With this, you can keep track of its progress. Interrupts, hangups, and the like are disabled since your terminal is put into a special mode that is only changed when you quit with the q command.

The format of the screen is as follows: each line represents a file (or directory), the name of which is right-most. From left the fields are: mode, link count, owner, size, write date and name. See ls(1) for a description of what each of these mean. You move up and down the column immediately left of the filename. The bottom half of the screen is used for displaying files via the type command. If there are too many files to all fit on one window, more windows are allocated. The f and b commands can be used for stepping forward and backward windows. The last screen line is used as an `echo' line for displaying error messages and reading arguments. It also displays the full directory name if `direding' a directory. When in split screen mode, the divider serves also as a `linear indicator' showing where the current window is relative to the entire list of files. The symbols `(' and `)' denote the window. Square brackets replace `(' and/or `)' when the window is the first and/or last window. A single `o' is used to represent the window when the window size is small compared to the total number of files.


Command-line options, which are inherited by recursive invocations of dired, are:
Display a brief help message on stderr and quit with a success return code.
Select batch mode: dired then sends its output to stdout without reading keyboard input, and without colorizing filenames. See the COLOR SUPPORT section below for details.

dired will normally select batch mode automatically when its output is not a terminal, but this option provides a way to force that for systems where dired is unable to detect non-terminal output.

Use this option in conjunction with the sorting options described below as an alternative to ls(1).

This flag is normally not specified by users; dired sets it for dired subprocesses.
Start the output with the specified file on the first line of the display, but if that file is a directory, prevent attempts to edit it recursively with the `e' command.

This option is ignored in batch mode.

Start the output with the specified file on the first line of the display.

This option is ignored in batch mode.

Show only files belonging to the specified group id number or group name. If the number or name is omitted, then the group id of the current user is assumed.
Forward or reverse sort by inode-change date, group name, group number, link count, name (lexicographic) , name (numeric) , read date, size, type, user name, user number, or write date respectively. ``Normal sort'' is the order most often desired; it is descending for size and link counts, from newest to oldest for date sorts, and ascending for other sorts. The default is to sort by name.

For equal sort keys, do a secondary sort to put the filenames in ascending order.

Numeric sorting of filenames with -sN is useful in directories such as /proc and Usenet news trees, where files are named 1, 2, 3, ....

Display a brief help message on stderr and quit with a success return code.
Monochrome mode: suppress the default colorization of filenames. Colorization can still be toggled on and off in the dired session with the C command. See the COLOR SUPPORT section below for details.
Show only files belonging to the specified user id number or user name. If the number or name is omitted, then the user id of the current user is assumed.
Same as -v.
Show the program version on stderr, and quit immediately.
Use number lines for the directory index window, reserving the other half for quick file display. f means use the full screen for the index. h means use half of the screen for the index. f is the default.


Commands consist of single characters, with any necessary arguments prompted for, and displayed in the echo line. Several commands take an optional non-negative integer count argument, as in vi(1).

Here are the keyboard commands that control dired, organized into several categories:


?, h
Display a help message summarizing the keyboard commands.

Quitting dired

Abort out of the current directory. No deletions are done.
Abort completely out of dired, with no deletions.
Exit dired, displaying files marked for deletion and requiring confirmation before deleting them. If no confirmation is given (typing anything other than y), dired goes back to its display.
Quit dired, with no deletions.

Actions on files

Prompt for a system command to invoke. The command is executed, and confirmation is required before returning to the display. All % characters in the command are replaced with the full pathname of the current entry, and all # chars are replaced with just the trailing filename component (what you see on the screen).
Repeat the previous ! shell command, substituting the current entry for any special chars (%#) in the original command.
Run the editor defined in the EDITOR environment variable upon the current file. If EDITOR is not defined, vi(1) is used. However, if the current file is a directory, it is not edited, but rather, dired forks a copy of itself upon that directory. In this manner, you can examine the contents of that directory and thus move down the directory hierarchy.
Run the program defined by the PAGER environment variable program on the current entry. If PAGER is not defined, run more(1).
Print the current file on the lineprinter.
Type the file to the terminal; this is considerably faster than starting an editor on the file. In two-window mode, the bottom window is used, pausing after each screenful. The type-out may be interrupted by <control or q.
Same as t, but without any pauses at end-of-screen.

Deletion and undeletion

Mark the current entry for deletion. Upon exit and confirmation (or re-reading using the `R' command), this entry will be deleted. Warning: this includes directories! If it is a directory, everything in it and underneath it will be removed.
Mark all files for deletion. (`U' undoes this).
Mark files with names ending in ~ for deletion.
Mark files with names beginning with # for deletion.
Undelete the current entry, if it was previously marked for deletion.
Cancel all deletion requests.


Re-print the directory path name.
Refresh the current line.
Toggle between split-screen mode and full-screen mode.
<control G>
Show the current file number, the total number of files, and the percentage through the file. Useful in full screen mode when there is no linear indicator.
l, <control L>
Refresh the current window.
Display the full path name of the current file; embedded control characters are shown with graphics.
Re-read the directory or file list. If files are marked for deletion, dired will first ask for confirmation and then delete them before re-reading. This is useful after operations done during shell escapes (e.g., chmod(1)).
r, s
Sort the file list by various fields, with the field selected by the next input character. If that character is <ESC>, then cancel the sort request. See the documentation of the -s option above for a description of the sort fields and sort orders.


Cancel a sort or a count.
Toggle colorization of filenames.

Moving around

<down arrow>, <lf>,^N, j
Step to the next file. If this crosses a window boundary, the next window is displayed with a one-line overlap. May be preceded by a count.
<up arrow>, ^, -, k, <backspace>, ^P
Step to previous file. If this crosses a window boundary, the previous window is displayed with a one-line overlap. May be preceded by a count.
<PageDown>, <right arrow>, f
Go forward a window, leaving a one-line overlap. May be preceded by a count.
<PageUp>,<left arrow>, b
Go backward a window, leaving a one-line overlap. May be preceded by a count.
<, [, (, {
Go to the start of the file list. With an argument n, go n/10 of the way from the start.
>, ], ), }
Go to the end of the file list. With an argument n, go n/10 of the way from the end.
Go up to the next higher level directory. In the case of an argument list of files to dired, go to the parent of the directory which contains the current file.
Go to the file number given by the preceding count. With no count, go to the last file as in vi(1).
Remember the current entry on the mark stack. You can later return to it with the J (jump) command.
Pop the top entry from the mark stack, and jump to it.
Pop the top entry from the view stack, and jump to it. Each screen display adds an entry to the view stack, except for views created by this command, so you can use L to display views in reverse order.


Locate a file matching the given regular expression, as defined in re_comp(3) and re_exec(3). The search is in the forward direction. The regular expression is remembered for subsequent use by the n and N commands. If the regular expression is empty, the last one remembered is used.
Find the next instance in the forward direction of the regular expression previously-defined by a `/' command.
Find the next instance in the backward direction of the regular expression previously-defined by a `/' command.


From version 4.00, dired supports color coding of files by type and by extension.

The color support is identical to that provided by the GNU ls(1) command: if the terminal type defined by the TERM environment variable is known to support color (i.e., is one of con132x25, con132x30, con132x43, con132x60, con80x25, con80x28, con80x30, con80x43, con80x50, con80x60, console, linux, vt100, or xterm), then built-in defaults determine file colors.

Do not be disappointed if your terminal type is one of the above, but the output is still monochrome: only recent versions of UNIX terminal emulators, such as xterm(1), contain support for text color beyond the normal foreground and background colors. However, all should have at least bold, flashing, underlined, and reverse video capability.

The defaults can be overridden by settings of the LS_COLORS (or LS_COLOURS) environment variable; that variable augments, but does not eliminate, the internal defaults. Thus, for customization, the user need only supply changed values.

The value of the LS_COLORS variable is a termcap(1)-like capability list: a colon-separated list of key=value pairs. As in computer programming languages, when there are repeated assignments to the same key name, only the last is effective.

Keys may be one of these file types or commands:

block device,
character device,
end control sequence code (replaces lc+no+rc),
executable file,
regular file,
left control sequence code,
symbolic link,
missing file (defaults to fi),
normal (non-filename) text,
orphaned symbolic link (defaults to ln),
named pipe (FIFO),
right control sequence code,

Keys may also be of the form *.ext to select files by dotted extension.

Values are terminal color control sequences, usually semicolon-separated lists of numbers, as follows:

restore default color
brighter colors
underlined text
flashing text
reverse video
black foreground
red foreground
green foreground
yellow (or brown) foreground
blue foreground
purple foreground
cyan foreground
white (or gray) foreground
black background
red background
green background
yellow (or brown) background
blue background
purple background
cyan background
white (or gray) background

For convenience, here is the same data, sorted by color names instead of color numbers:

black background
black foreground
blue background
blue foreground
cyan background
cyan foreground
green background
green foreground
purple background
purple foreground
red background
red foreground
white (or gray) background
white (or gray) foreground
yellow (or brown) background
yellow (or brown) foreground

Any required special characters in capability values can be represented by backslash or caret escape sequences:

rubout (ASCII DELete)
alert (ASCII BEL)
backspace (ASCII BS)
escape (ASCII ESCape)
formfeed (ASCII FF)
newline (ASCII NL)
3-octal-digit character value
carriage return (ASCII CR)
horizontal tab (ASCII HT)
vertical tab (ASCII VT)
2-or-more-hexadecimal-digit character value
Control character formed from the five low-order bits of the character `x'

Backslash can also be used to protect other characters, notably, backslash, colon, and equals, from misinterpretation: `\' reduces to a single `\', and `e:' to a non-separating colon.

The GNU dircolors(1) command can be used to display the default setting of LS_COLORS used by dired. For convenience, the default is displayed here, but for readability, newlines have been inserted after the colons separating key=value pairs, and the pairs have been sorted into ascending order:


dired writes each filename to the screen in the form <lc><colorcode><rc><filename><ec>. If the ec command is undefined, the sequence <lc><no><rc> is used instead. For example, the default setting shown above for the di directory file capability, 01;34, produces bright blue text on the screen background, and the character string that is output to the screen is \e[01;34mfilename\e[0m.

If you routinely use colored screen backgrounds, you should define background, as well as foreground, colors in each color capability value; otherwise, you may find that the color selected for certain files is difficult, or impossible, to see against the colored background.


The error messages should be self-explanatory.

The exit codes returned to the invoking program are as follows:

success (normal termination);
failure (usually accompanied by an explanatory message);
failed to open termcap file;
unknown terminal type;
user requested abort with A or Q, or else editor invocation failed.


color capability list; see the COLOR SUPPORT section above.
alternate spelling of LS_COLORS, used if that name is not defined.
standard UNIX terminal type.


Executable program.
Source directory.
Help file for ? and h.


emacs(1), ls(1). more(1), re_comp(3), re_exec(3), termcap(1). vi(1), xterm(1).


Stuart Mclure Cracraft.

Enhancements by Jay Lepreau <lepreau@cs.utah.edu>.

Fixes and enhancements by Charles Hill.

Regular-expression support code by Tatu Ylonen <ylo@ngs.fi>.

Many fixes and enhancements, major revision of manual pages, support for GNU autoconfigure (for simple installation), batch mode, and color support, by Nelson H. F. Beebe <beebe@math.utah.edu>, who is the current maintainer of dired.


dired is freely available; its master distribution can be found at


in the file dired-x.yy.tar.gz where x.yy is the current version. Other distribution formats are usually available in the same location.

That site is mirrored to several other Internet archives, so you may also be able to find it elsewhere on the Internet; try searching for the string dired at one or more of the popular Web search sites, such as



If lines wrap or overprint, it is likely that dired has an incorrect notion of the screen size. This can happen on older UNIX systems where the kernel does not track screen sizes, but instead, leaves it up to the shell, which uses environment variables named LINES (or ROWS) and COLUMNS to record the screen dimensions. Print those variables (e.g., echo $COLUMNS), and use the stty -a command to see the kernel's settings, if any, correct them if needed, and restart dired.

On some systems, if dired is running under a script(1) session, the screen dimensions may be incorrect, and can be reset in the same way as above.