Linux Command: rm (remove files or directories)

Use “rm” to remove files or directories. The usage of the command is straightforward-

Note: There is no trash or bin for the file deleted from Linux terminal, so be careful when you use this command.

Remove File

$ rm bigboxfile.txt
Bash

Remove Directory

Use “rm” to delete a directory and we will get an error.

$ rm new_d1
rm: cannot remove 'new_d1': Is a directory
Bash

As a directory does not behave like a file. And we need an extra flag to delete/remove a directory.

Use “-r” option with “rm” to delete a directory.

$ rm -r new_d1
Bash

Delete by Pattern

We can use patterns to denote fiels and/or directories to use with “rm” command-

# Create some files
$ touch file1.txt file2.txt file3.sh

# Check files
$ ls

file1.txt  file2.txt  file3.sh

# Remove files that starts with "file"
$ rm file*

# Check again and those files are gone
$ ls
Bash

Delete Everything

Here is how we can delete everything from the current directory-

$ rm -r *
Bash

Command Info

$ rm --help

Usage: rm [OPTION]... [FILE]...
Remove (unlink) the FILE(s).

  -f, --force           ignore nonexistent files and arguments, never prompt
  -i                    prompt before every removal
  -I                    prompt once before removing more than three files, or
                          when removing recursively; less intrusive than -i,
                          while still giving protection against most mistakes
      --interactive[=WHEN]  prompt according to WHEN: never, once (-I), or
                          always (-i); without WHEN, prompt always
      --one-file-system  when removing a hierarchy recursively, skip any
                          directory that is on a file system different from
                          that of the corresponding command line argument
      --no-preserve-root  do not treat '/' specially
      --preserve-root[=all]  do not remove '/' (default);
                              with 'all', reject any command line argument
                              on a separate device from its parent
  -r, -R, --recursive   remove directories and their contents recursively
  -d, --dir             remove empty directories
  -v, --verbose         explain what is being done
      --help     display this help and exit
      --version  output version information and exit

By default, rm does not remove directories.  Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.

To remove a file whose name starts with a '-', for example '-foo',
use one of these commands:
  rm -- -foo

  rm ./-foo

Note that if you use rm to remove a file, it might be possible to recover
some of its contents, given sufficient expertise and/or time.  For greater
assurance that the contents are truly unrecoverable, consider using shred.
Bash

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.