How to remove a directory in Linux
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:
-
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-fail-on-non-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: <https://www.gnu.org/software/coreutils/> Full documentation <https://www.gnu.org/software/coreutils/rmdir> or available locally via: info '(coreutils) rmdir invocation'
-
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: <https://www.gnu.org/software/coreutils/> Full documentation <https://www.gnu.org/software/coreutils/rm> or available locally via: info '(coreutils) rm invocation'
-
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: $