Files and folders can quickly be deleted using graphical tools such as Nautilus and Dolphin, which come standard with Ubuntu / GNOME and Kubuntu / KDE. If you're using your local terminal or connected to a server via SSH, you'll need to use the available command-line tools.

rmdir is a command-line tool specifically designed to remove or delete an empty directory. You can also use rm, a general tool to delete both files and folders, empty or used.

Steps to delete folder from command line in Linux:

  1. Delete empty folder using rmdir.
    $ rmdir myfolder/
    rmdir: failed to remove 'myfolder/': Directory not empty
    $ rm myfolder/*
    $ rmdir myfolder

    Content of the folder or directory must be deleted first or else the command will fail.

    More options for rmdir:

    $ rmdir --help
    Usage: rmdir [OPTION]... DIRECTORY...
    Remove the DIRECTORY(ies), if they are empty.
                      ignore each failure that is solely because a directory
                        is non-empty
      -p, --parents   remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is
                        similar to 'rmdir a/b/c a/b a'
      -v, --verbose   output a diagnostic for every directory processed
          --help     display this help and exit
          --version  output version information and exit
    GNU coreutils online help: <>
    Full documentation <>
    or available locally via: info '(coreutils) rmdir invocation'
  2. Delete files and folders using rm recursively.
    $ rm myfolder/
    rm: cannot remove 'myfolder/': Is a directory
    $ rm -r myfolder/

    More options for rm:

    $ 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.
    GNU coreutils online help: <>
    Full documentation <>
    or available locally via: info '(coreutils) rm invocation'
  3. Delete write-protected or system folder using sudo.
    $ rm -r myfolder/
    rm: descend into write-protected directory 'myfolder/'? y
    rm: cannot remove 'myfolder/myfile.txt': Permission denied
    $ sudo rm -r myfolder/
    [sudo] password for user: 
Discuss the article:

Comment anonymously. Login not required.