This section describes the basic Dired commands to operate on one file or several files. All of these commands are capital letters; all of them use the minibuffer, either to read an argument or to ask for confirmation, before they act. All of them let you specify the files to manipulate in these ways:
Certain other Dired commands, such as ! and the ‘%’ commands, use the same conventions to decide which files to work on.
Commands which ask for a destination directory, such as those which
copy and rename files or create links for them, try to guess the default
target directory for the operation. Normally, they suggest the Dired
buffer's default directory, but if the variable
nil, and if there is another Dired buffer displayed in the
next window, that other buffer's directory is suggested instead.
Here are the file-manipulating Dired commands that operate on files.
dired-do-copy). The argument new is the directory to copy into, or (if copying a single file) the new name. This is like the shell command
dired-copy-preserve-time is non-
nil, then copying
with this command preserves the modification time of the old file in
the copy, like ‘cp -p’.
dired-recursive-copies controls whether to copy
directories recursively (like ‘cp -r’). The default is
top, which means to ask before recursively copying a directory.
dired-do-delete). This is like the shell command
Like the other commands in this section, this command operates on the
marked files, or the next n files. By contrast, x
dired-do-flagged-delete) deletes all flagged files.
dired-do-rename). If you rename a single file, the argument new is the new name of the file. If you rename several files, the argument new is the directory into which to move the files (this is like the shell command mv).
Dired automatically changes the visited file name of buffers associated with renamed files so that they refer to the new names.
dired-do-hardlink). This is like the shell command ln. The argument new is the directory to make the links in, or (if making just one link) the name to give the link.
dired-do-symlink). This is like ‘ln -s’. The argument new is the directory to make the links in, or (if making just one link) the name to give the link.
dired-do-chmod). modespec can be in octal or symbolic notation, like arguments handled by the chmod program.
dired-do-chown). (On most systems, only the superuser can do this.)
dired-chown-program specifies the name of the
program to use to do the work (different systems put chown
in different places).
dired-do-touch). This means updating their modification times to the present time. This is like the shell command
dired-do-print). You must specify the command to print them with, but the minibuffer starts out with a suitable guess made using the variables
lpr-switches(the same variables that
lpr-bufferuses; see Printing).
dired-do-compress). If the file appears to be a compressed file already, uncompress it instead.
epa-dired-do-decrypt). See Dired integration.
epa-dired-do-verify). See Dired integration.
epa-dired-do-sign). See Dired integration.
epa-dired-do-encrypt). See Dired integration.
dired-do-load). See Lisp Libraries.
dired-do-byte-compile). See Byte Compilation.
This command is a variant of
tags-search. The search stops at
the first match it finds; use M-, to resume the search and find
the next match. See Tags Search.
query-replace-regexpon each of the specified files, replacing matches for regexp with the string to (
This command is a variant of
tags-query-replace. If you exit the
query replace loop, you can use M-, to resume the scan and replace
more matches. See Tags Search.