Next: Shell Commands in Dired, Previous: Marks vs Flags, Up: Dired
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 dired-dwim-target
is non-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 cp
.
If 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’.
The variable 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 rm
.
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-chgrp
).
dired-do-chown
). (On most systems, only the superuser can do
this.)
The variable 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 touch
.
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-command
and
lpr-switches
(the same variables that lpr-buffer
uses;
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.
dired-do-search
).
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-regexp
on each of the specified files,
replacing matches for regexp with the string
to (dired-do-query-replace-regexp
).
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.