How To Linux

How to – Remove Files and Directories Using Linux Command Line

In this tutorial, we will see how to use the rmunlink, and rmdir commands to remove files and directories in Linus using Terminal (command line).

Remove Files:

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

  • unlink command allows you to remove only a single file.
  • rm command allows you to remove multiple files at once.

Caution: Be extra careful while removing files or directories, because once the file/s is deleted it cannot be easily recovered.

Examples:

  • 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, see below.

    rm: remove write-protected regular empty file 'filename'?To remove the file type y, and hit Enter. Otherwise, if the file is not write-protected, it will be deleted without prompting.

  • To delete multiple files at once, use the rm command followed by file name/s . Each file name is separated by space.
    rm filename1 filename2 filename3

    You can use wildcard as-trick (*) and regular expansions to match multiple files. For example, to remove all .txt files in the current directory, use the following command:

    rm *.txt

    Note: Always use the ls command to first list/ see the files you are about to delete when using regular expressions

  • rm command with the -i option is used to confirm each file before deleting it:
    rm -i filename(s)
  • rm command with the -f (force) option us used to remove files without prompting, even if the files are write-protected.
    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

Remove Directories (Folders):

In Linux, you can remove /delete directories using the rmdir and rm commands as below.

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.

Feel free to leave a comment if you have any questions.