18.12 Miscellaneous File Operations
Emacs has commands for performing many other operations on files. All operate on one file; they do not accept wildcard file names.
M-x delete-file
prompts for a file and deletes it. If you are
deleting many files in one directory, it may be more convenient to use
Dired rather than delete-file
. See Deleting Files with Dired.
M-x move-file-to-trash
moves a file into the system
Trash (or Recycle Bin). This is a facility available on
most operating systems; files that are moved into the Trash can be
brought back later if you change your mind. (The way to restore
trashed files is system-dependent.)
By default, Emacs deletion commands do not use the Trash. To
use the Trash (when it is available) for common deletion commands,
change the variable delete-by-moving-to-trash
to t
.
This affects the commands M-x delete-file
and M-x delete-directory
(see File Directories), as well as the deletion
commands in Dired (see Deleting Files with Dired). Supplying a prefix
argument to M-x delete-file
or M-x delete-directory
makes
them delete outright, instead of using the Trash, regardless of
delete-by-moving-to-trash
.
If a file is under version control (see Version Control), you
should delete it using M-x vc-delete-file
instead of M-x delete-file
. See Deleting and Renaming Version-Controlled Files.
M-x insert-file
(also C-x i
) inserts a copy of the
contents of the specified file into the current buffer at point,
leaving point unchanged before the contents. The position after the
inserted contents is added to the mark ring, without activating the
mark (see The Mark Ring).
M-x insert-file-literally
is like M-x insert-file
,
except the file is inserted literally: it is treated as a sequence
of ASCII characters with no special encoding or conversion,
similar to the M-x find-file-literally
command
(see Visiting Files).
M-x write-region
is the inverse of M-x insert-file
; it
copies the contents of the region into the specified file. M-x append-to-file
adds the text of the region to the end of the
specified file. See Accumulating Text. The variable
write-region-inhibit-fsync
applies to these commands, as well
as saving files; see Customizing Saving of Files.
M-x set-file-modes
reads a file name followed by a file
mode, and applies that file mode to the specified file. File modes,
also called file permissions, determine whether a file can be
read, written to, or executed, and by whom. This command reads file
modes using the same symbolic or octal format accepted by the
chmod
command; for instance, ‘ u+x
’ means to add
execution permission for the user who owns the file. It has no effect
on operating systems that do not support file modes. chmod
is a
convenience alias for this function.