Read in 3 minutes

last updated 

How to Remove Files and Directories Using Linux Command Line

To remove (or delete) a file or directory in Linux from the command line, use the rm (remove) command.

Be extra careful when removing files or directories with the rm command, because once the file is deleted it cannot be recovered.

In this tutorial, we will show you how to use the rm command to remove files and directories through examples and explanations of the most common rm options.

How to Remove Files

  • To delete a single file use the rm command followed by the file name:

    rm filename

    If the file is write protected you will be prompted for confirmation as shown bellow. To remove the file type y and hit Enter. Otherwise, if the file is not write protected it will be deleted without prompting.

    rm: remove write-protected regular empty file 'filename'?
  • To delete multiple files at once use the rm command followed by the file names separated by space.

    rm filename1 filename2 filename3

    You can also use a wildcard (*) and regular expansions to match multiple files. For example to remove all .pdf files in the current directory, use the following command:

    rm *.pdf

    When you use rm with wildcards (*) and regular expansions, it is recommend to list the files with the ls command so that you can see what files will be deleted before running the rm command.

  • Use the -i option to confirm each file before deleting it:

    rm -i filename(s)
  • To remove files without prompting even if the files are write-protected use the -f (force) option:

    rm -f filename(s)
  • You can also combine rm options. For example, to remove all .txt files in the current directory without a prompt in verbose mode use the following command:

    rm -fv *.txt

How to Remove Directories (Folders)

  • To remove an empty directory use the -d option.

    rm -d dirname
  • To remove non-empty directories and all the files within them, use the r (recursive) option.

    rm -r dirname

    If a directory or a file within the directory is write-protected, you will be prompted to confirm the deletion.

  • To remove non-empty directories and all the files without being prompted use use the r (recursive) and -f options.

    rm -rf dirname
  • To remove multiple directories at once, use the rm command followed by the directory names separated by space.

    rm -r dirname1 dirname2 dirname3

    Same as with files you can also use a wildcard (*) and regular expansions to match multiple directories.

Conclusion

By now you should have a good understanding of how to use the Linux rm command and you should be able to safely remove files and directories using the command line.