Delete / Remove a Directory Linux Command

last updated in Categories , ,

I am a new Linux user. How do I delete or remove a directory using command line option? How do I delete a folder in Linux?

Everything is a file in Linux including the directory. A directory is nothing but a group of files. You can use the following commands to delete the directory in Linux. Directory is also known as a folder in the Macintosh OS X/macOS and Microsoft Windows operating system.


Commands to remove a directory in Linux

There are two command to delete a folder in Linux:

  1. rmdir command – Deletes the specified empty directories and folders in Linux.
  2. rm command – Delete the file including sub-directories. You can delete non-empty directories with rmdir command in Linux.

Let us see some examples and usage in details.

rmdir command syntax to delete directory in Linux

The rmdir command remove the DIRECTORY(ies), if they are empty. The syntax is:
rmdir directory-name
rmdir [option] directory-name

Open the terminal application and run command to delete given directory. For example, delete a folder named dir1:
rmdir dir1

Delete directory Linux Command

Open a command line terminal (select Applications > Accessories > Terminal), and then type the following command to remove a directory called /tmp/docs:
rmdir /tmp/docs
If a directory is not empty you will get an error message that read as follows::
rmdir letters
Sample outputs:

rmdir: letters: Directory not empty

You can cd to the directory to find out files:
$ cd letters
$ ls

In this example, remove data, foo and bar if bar were empty, foo only contained bar and data only contained foo directories:
cd /home/nixcraft
rmdir -p data/foo/bar


  1. -p – Each directory argument is treated as a pathname of which all components will be removed, if they are empty, starting with the last most component.

How to see a diagnostic message for every directory processed

Pass the -v option to the rmdir command:
$ rmdir -v dir1

Linux remove entire directory including all files and sub-directories command

To remove all directories and subdirectories use the rm command. For example, remove *.doc files and all sub-directories and files inside letters directory, type the following command (warning all files including subdirectories will be deleted permanently):
$ rm -rf letters/
Sample session:
Delete directory Linux command

  1. -r : Attempt to remove the file hierarchy rooted in each file argument i.e. recursively remove subdirectories and files from the specified directory.
  2. -f : Attempt to remove the files without prompting for confirmation, regardless of the file’s permissions

Are you getting permission denied error message while removing directories?

Only owners can delete their directories. However, a sysadmin can delete any directories created by anyone on the system. The syntax is:
sudo rmdir /path/to/dir/
sudo rm -rf dir2

When prompted, you need to provide root user or sudo user password.


This page showed how to delete a directory when it is empty. Further, it showed, how to remove folders using the rm and rmdir commands. See rm help page here:

  • For more information read man pages: rm(1)


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Start the discussion at

Historical Comment Archive

102 comment

    1. I give it a 3 star. There has to be a more flexible way to do it. Removing files permanently is not a good option for linux this is a windows kind of rubbish thing

      1. It’s not exactly permanent in Windows either. In fact, the “undelete” command has been available for quite some time… the Recycle Bin/Trash makes it possible to restore in both operating systems (from the GUI of course). I’m not exactly glorifying M$ but they aren’t exactly the cesspool of operating systems… LOL they’re not the best either but if M$ Windows were FREE and/or Open it may change some opinions.

  1. rm: cannot remove `unixODBC//exe/.libs/odbcinst’: Permission denied

    I got loads of these messages, must I go through each file and change their permissions?

  2. Hello all
    i am having some trouble in deleting a directory in ubuntu. actually my directory’s ownership changes to ?? ?? also file size is also changed to ?? only name is there and all things changes to ?? like this,
    ls: cannot access pg_database: No such file or directory
    total 0
    -????????? ? ? ? ? ? pg_database
    I need your suggestions

    Thanks in advance !!!!!!!!!!!!!!

  3. -r Stands for Recursive and -f Stands for Force

    Take care with the effect when using ‘-rf’ flags

  4. In Linux correct command would be rm -rf /letters/
    The slash before the directory name is required or else it will not be seen as a directory and you will get an error. Also, consider using sudo such as:
    sudo rm -rf /letters/ when permissions conflict.

  5. Thanks traverlawre,
    ‘sudo’ did it. Without ‘sudo’ I had permission denied for many files that I wanted to remove.

  6. Hello!
    I am installing oracle10 database on linux (rh4em) plz can i have the easiest steps taht first time i can understand.

  7. Is any linux/unix command to delete one folder among 5 folders inside directory?
    Thanks with anticipation

  8. Thanx seems to be very useful however I’m using Slax to access a damaged NTFS drive and am having trouble deleting files from that drive, i can read the files fine however i can’t change permissions for any of the files or folders and the drive is mounted with the ntfs -3g command so it should be editable. i’ve tried the chmod command without luck. any ideas?

    Thanks a ton in advance…

  9. rm -rf

    will remove it without any answer needed.

    rm -r without (-f for force) will request you a reply to remove each files.
    rm -r ntop-4.1.0
    rm: descend into directory `ntop-4.1.0′? yes
    rm: remove regular file `ntop-4.1.0/ntop_win32.h’?

  10. Please guide me If i have mutipal folders in same dir.
    ls -x
    Now I want delete ..a c d dir.How can I delete in singal command

  11. What’s the command to find all files with extension tmp (ex: *.tmp) and then delete them automatically? Thanks

  12. Is there a way to delete like every directory named a special name if so I have 19 directorys with the same name on my dedicated debian server and I want to delete all of them then it just searches for the names and deletes them?

  13. I have problem of Koha perl comiling…. when I put the command…. following …

    sudo perl Makefile.PL
    Can’t locate in @INC (@INC contains: /koha-latest/koha-3.08.04 /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /koha-latest/koha-3.08.04/C4/ line 102.
    BEGIN failed–compilation aborted at /koha-latest/koha-3.08.04/C4/ line 102.
    Compilation failed in require at /koha-latest/koha-3.08.04/C4/ line 24.
    BEGIN failed–compilation aborted at /koha-latest/koha-3.08.04/C4/ line 24.
    Compilation failed in require at Makefile.PL line 31.
    BEGIN failed–compilation aborted at Makefile.PL line 31.

    Then showing this command

    What to do now… Pls give me …. msg


    Syed Ahmed

  14. دمت گرم اينم تو اونت
    Thank you very much. It’s very good!

  15. thank you so much I was about 30 seconds away from doing a hard restore on my iphone but luckily I found this forum first! I was desperate I could not find a way to remove my directory thanks to an archive that the program was unable to locate…the prgram was not installed but it was not complletely uninstalled and i could neither delete or load my cydia directory. Thanks so much!

    Just on a side note…anyone know what to do now that the hackulous team has disassembled??

  16. Thanks a lot!

    Another tip: you can use wildcards to remove many folders which have the same name at the start, E.G to remove all the folders “recup_dir.1” , “recup_dir.2”, “recup_dir.3″

    I would type ” sudo rm -rf recup_dir*** ” and all the folders disappear :) This was very useful as a file ‘undeleter’ left me with loads of these folders!

  17. thank u soooooo muchhhhhhhhh…:)its working…:) :) :)
    can anyone plzz help me with this..?? i need to change my directory and the dir name contains 3 words separated by spaces.. like “whole Project Mydhili”. I tried

    cd whole Project Mydhili

    but the result was :there is no such file or directory”. My path to the dir is correct and when i gave an ls command ,i can see this dir in the list…but am not able to make it as my pwd..!! i tried as super user (sudo) too..
    plzz if u could help me,i will b so thaankful to u.

  18. Hi,

    I have created a .trash hidden directory to get the removed files to use as recyclic bin by using the below command
    alias rm=’mv\!*~/.trash’
    Now I could not use rm -rf or rmdir command.

    Error message is coming as
    :bash= mv\!*~/.trash : directory or file not found.
    Can anyone please help me? in this. It will be very helpful to me.

  19. Hi,

    I’m trying to delete a directory Test2(e.g.: /home/apps/Test/Test1/Test2 by executing sh script.

    cd /home/apps/Test/Test1
    rm -rf Test2

    But if Test2 directory is already deleted then it throws error. I want to proceed further even if Test2 is not present. Can some one please help me out?

  20. Yesterday, I incorrectly extracted a soundfont to the following location : /usr/share/sounds/sf2/GeneralUser GS 1.44 FluidSynth.
    I would like to delete that last folder completely along with all contents and then install the soundfont correctly. I’ve tried almost every combination of the command line codes given above (rm -rf) but nothng seems to happen. I suspect I’m not typing in the command correctly. Any help would be appreciated.

    Regards Ramlee.

  21. Hi, I have a problem with this command :

    A file that contain “è” is recognised as “??” and when I try to delete it with the rm command (or rm -rf) I get the following error :

    rm: cannot remove ‘Wolf – La Belva ?? Fuori – 1994.avi’: No such file or directory

    Its not a directory but an avi file

    tried with the following :

    rm 'Wolf - La Belva ?? Fuori - 1994.avi'
    rm -r 'Wolf - La Belva ?? Fuori - 1994.avi'
    rm ./"Wolf - La Belva ?? Fuori - 1994.avi"
    rm -rf ./"Wolf - La Belva ?? Fuori - 1994.avi"

    nothing works :(

    Can someone please help me to find the correct command ? Thank you so much!


    Still, have a question? Get help on our forum!