In this tutorial, we will show you how to use the rm, unlink, and rmdir commands to remove files and directories in Linux.

How to Remove Files

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

The unlink command allows you to remove only a single file, while with rm you can remove multiple files at once.

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

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

    unlink filename
    rm filename

    If the file is write-protected, you will be prompted for confirmation, as shown below. 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 using regular expansions, first list the files with the ls command so that you can see what files will be deleted before running the rm command.

  • Use the rm with 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 pass the -f (force) option to the rm command:

    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)

In Linux, you can remove/delete directories with the rmdir and rm.

rmdir is a command-line utility for deleting empty directories while with rm you can remove directories and their contents recursively.

  • To remove an empty directory, use either rmdir or rm -d followed by the directory name:

    rm -d dirname
    rmdir dirname
  • To remove non-empty directories and all the files within them, use the rm command with 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 rm with the -r (recursive) and -f options:

    rm -rf dirname
  • To remove multiple directories at once, use the rm -r 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, rmdir and unlink commands and you should be able to safely remove files and directories from the command line.