How to remove files and directories in Linux

Linux includes two commands that you can use to delete files and directories: rm (remove) and rmdir (remove directory).

rm command to remove a file

The basic syntax of a “rm” command is as follows:

# rm [options] file-list

The rm utility removes hard and/or symbolic links to one or more files. When you remove the last hard link to a file, the file is deleted. Let’s remove a file using rm command:

# rm file01

You might be asked by system to confirm the deletion of the file:

remove file01 (y/n)?

Alternatively, you can also use the -i option, which runs the rm command interactively. So each file will be deleted only after your confirmation.

rm command options

There are several options that can be used with rm commands. Some of the most commonly used options are listed below:

Option Function
–interactive -i Provides an interactive prompt before removing file.
–recursive -r Deletes the contents of the specified directory, including all its subdirectories, and the directory itself
–verbose -v Displays the name of each file as it is removed.
–force -f Without asking for your consent, removes files for which you do not have write access permission. This option also suppresses informative messages if a file does not exist.

rm command Tips

1. The -i or –interactive=always options allow review and confirmation before each entry being deleted. Answering n rather than y to the prompts (Enter must be pressed after y or n) will either skip deleting some files or skip entire directories.

2. -I or –interactive=once prompts only once before removing more than three files, or when removing recursively, whereas -i prompts for each and every file or directory.

rmdir command to remove directories

The rmdir command is used to delete empty directories. This command will fail if the directory is not empty (use rm -r to delete a directory and all the files within the directory). You can use the “rm -fr” to remove directories that are not empty.

The basic syntax of a “rmdir” command is as follows:

# rmdir [options] directory-list

The directory-list is a list of pathnames of empty directories that rmdir removes.

Example for “rmdir” command:

# rmdir /tmp/dir01

rmdir command options

Unlike rm command, rmdir command has fewer options.

Option Function
–ignore-fail-on-non-empty Suppresses the message rmdir normally displays when it fails because a directory is not empty.
–verbose -v Displays the names of directories as they are removed.
–parents -p Removes a hierarchy of empty directories.

Remove files and directories recursively

Use the rm utility with the –r option if you need to remove directories that are not empty, together with their contents. For example:

# rm -fr /tmp/dir01

The -f option makes the rmdir command continue silently even when a file or directory to be deleted is not present.