Next: Truenames, Previous: Testing Accessibility, Up: Information about Files [Contents][Index]
This section describes how to distinguish various kinds of files, such as directories, symbolic links, and ordinary files.
If the file filename is a symbolic link, the file-symlink-p
function returns the file name to which it is linked. This may be the
name of a text file, a directory, or even another symbolic link, or it
may be a nonexistent file name.
If the file filename is not a symbolic link (or there is no such file),
file-symlink-p returns nil.
(file-symlink-p "foo")
⇒ nil
(file-symlink-p "sym-link")
⇒ "foo"
(file-symlink-p "sym-link2")
⇒ "sym-link"
(file-symlink-p "/bin")
⇒ "/pub/bin"
This function returns t if filename is the name of an
existing directory, nil otherwise.
(file-directory-p "~rms")
⇒ t
(file-directory-p "~rms/lewis/files.texi")
⇒ nil
(file-directory-p "~rms/lewis/no-such-file")
⇒ nil
(file-directory-p "$HOME")
⇒ nil
(file-directory-p
(substitute-in-file-name "$HOME"))
⇒ t
This function returns t if the file filename exists and is
a regular file (not a directory, symbolic link, named pipe, terminal, or
other I/O device).