23.8 File Directories
The file system groups files into directories. A directory
listing is a list of all the files in a directory. Emacs provides
commands to create and delete directories, and to make directory
listings in brief format (file names only) and verbose format (sizes,
dates, and authors included). There is also a directory browser called
Dired; see Dired.
- C-x C-d dir-or-pattern <RET>
- Display a brief directory listing (
list-directory
).
- C-u C-x C-d dir-or-pattern <RET>
- Display a verbose directory listing.
- M-x make-directory <RET> dirname <RET>
- Create a new directory named dirname.
- M-x delete-directory <RET> dirname <RET>
- Delete the directory named dirname. It must be empty,
or you get an error.
The command to display a directory listing is C-x C-d
(list-directory
). It reads using the minibuffer a file name
which is either a directory to be listed or a wildcard-containing
pattern for the files to be listed. For example,
C-x C-d /u2/emacs/etc <RET>
lists all the files in directory /u2/emacs/etc. Here is an
example of specifying a file name pattern:
C-x C-d /u2/emacs/src/*.c <RET>
Normally, C-x C-d displays a brief directory listing containing
just file names. A numeric argument (regardless of value) tells it to
make a verbose listing including sizes, dates, and owners (like
‘ls -l’).
The text of a directory listing is mostly obtained by running
ls
in an inferior process. Two Emacs variables control the
switches passed to ls
: list-directory-brief-switches
is
a string giving the switches to use in brief listings ("-CF"
by
default), and list-directory-verbose-switches
is a string
giving the switches to use in a verbose listing ("-l"
by
default).
Emacs adds information about the amount of free space on the disk
that contains the directory. To do this, it runs the program
specified by directory-free-space-program
with arguments
directory-free-space-args
.