Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

unlink(2)

rm(1)

Name

rm, rmdir − remove (unlink) files or directories

Syntax

rm [−f] [−r] [−i] [−] file-or-directory-name... 
rmdir directory-name... 

Description

The rm command removes the entries for one or more files from a directory. If there are no links to the file then the file is destroyed. For further information, see ln(.).

The rmdir command removes entries for the named directories, which must be empty.  If they are not empty, the directories remain, and rmdir displays an error message (see EXAMPLES).

To remove a file, you must have write permission in its directory, but you do not need read or write permission on the file itself.  When you are using rm from a terminal, and you do not have write permission on the file, the rm command asks for confirmation before destroying the file.

If input is redirected from the standard input device (your terminal), then rm checks to ensure that input is not coming from your terminal.  If not, rm sets the −f option, which overrides the file protection, and removes the files silently, regardless of what you have specified in the file redirected as input to rm. See EXAMPLES.

Options

−Specifies that the named files have names beginning with a minus (for example −myfile ).

−fForces the removal of file or directory without first requesting confirmation.  Only system or usage messages are displayed. 

−iPrompts for yes or no response before removing each entry.  Does not ask when combined with the −f option.  If you type a y, followed by any combination of characters, a yes response is assumed. 

−rRecursively removes all entries from the specified directory and, then, removes the entry for that directory from its parent directory. 

Examples

The following example shows how to remove a file in your current working directory. 

rm myfile

This example shows use of the null option to remove a file beginning with a minus sign.

rm − −gorp

This example shows how a confirmation is requested for removal of a file for which you do not have write permission.

rm testfile
rm: override protection 400 for testfile? y

This example shows how the combination of −i and −r options lets you examine all the files in a directory before removing them.  In the example, mydirectory is a subdirectory of the current working directory.  Note that the last question requests confirmation before removing the directory itself.  Although the user types “y”, requesting removal of the directory, the rm command does not allow this, because the directory is not empty; the user typed “n” to the question about the file file2 , so file2 was not removed. 

rm −ir mydirectory
rm: remove mydirectory/file1? y
rm: remove mydirectory/file2? n
      .
      .
      .
rm: remove mydirectory? y
rm: mydirectory: Directory not empty

This example illustrates that rm overrides file protection when input is redirected from the standard input device.  The user creates a file named “alfie”, with a read-only file protection.  The user then creates a file named “ans” to contain the character “n”.  The rm command following destroys the file “alfie”, even though the redirected input file requested no deletion.

cat > alfie
hello
^d
chmod 444 alfie
cat > ans
n
^d
rm < ans alfie

See Also

unlink(2)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026