Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

I tried to delete these folders from terminal with:

rm -r
share|improve this question
1  
If that error output is from nautilus, you can add a screen-shoot to your question. Also, what is the output of rm -r from terminal? Have you tried with the answers of this post? – Lucio Mar 15 '13 at 15:50
1  
use rm -rf instead – nickanor Mar 15 '13 at 16:21
    
I have been used rm -Rf for remove recursively directories, may be this work for you. The uppercase R means Recursive, see man pages man rm – revnoise Mar 15 '13 at 17:18
1  
Do you have permission to remove this directory? Please execute ls -la and paste it here to discard this option. – revnoise Mar 15 '13 at 17:27
    
The folder was I think deleted first on windows and then tried to delete on Ubuntu. Then tried to delete on Windows but said error. Directory not empty but its all empty promise. On windows it says error Error x00000 – gabiro Mar 16 '13 at 5:34

Did you try sudo rm -r. What kind of files are there? You could also delete all the files first then delete the folder. It's extra work, but sometimes it is worth it to get the job done.

sudo is for superuser actions.

share|improve this answer
    
I know sudo and the folder has no files inside only a sub folder. Artist Folder then Album Folder no MP3s inside. Just folder. – gabiro Mar 28 '13 at 14:01
    
it works dude ... – Angelin Nadar Aug 27 '14 at 5:35

I had this issue with a folder on a btrfs filesystem. Checking mount points and lsof are the normal things to look for. In my cae it was corruption caused by an old bug, since fixed:

The normal things to check for:

  • lsof +D <path> - This will list all open files. You cannot delete a folder that contains open files, though that would also normally give a slightly different error: "Device or resource busy". Note that if you leave out the "+D <path>", lsof will show a listing for all folders on all filesystems - which will waste time. ;)
  • mount: This will show you the currently mounted filesystems. You cannot delete an actively-mounted mountpoint or its parent folders.
  • btrfs sub list <path>: Similar to a mount point, you cannot delete a btrfs subvolume except by using the btrfs-specific command: btrfs subvolume delete <path>.

Corruption Workaround

In the case of corruption where it cannot easily be fixed, the basic workaround is to back up, format the filesystem, and then restore (leaving out the bad data). Depending on how much data you have in the filesystem, this can be a chore. :-/

In my case the problem folder was inside a subvolume so I was able to do the above but by deleting only the subvolume instead of the entire filesystem. I backed up my data and deleted the subvolume: btrfs sub del <subvolume-path>. I was then able to restore into a new subvolume, leaving out the problem folder.

Corruption of i_size

The cause in my case was found to be corruption of i_size, where it was non-zero. Btrfs uses the i_size to tell whether or not the folder is empty. To check on this, run:

stat -c %s <foldername>

The i_size of an empty folder in btrfs should be zero. In ext it is typically 4k.

Related links:

https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory

share|improve this answer

Try cd into the directory, then remove all files using rm -rf *. Then try going out of the directory and use rmdir to delete the directory.

share|improve this answer
    
This works beautifully for me +1 Thanks man – Andrew Lyndem Jul 21 '15 at 19:21

Go to the folder right before the one you want to delete and execute this command changing foldername by the name of your folder: rm -rf foldername

R means recursive, and f means force.

share|improve this answer
    
rm: cannot remove Wan Pisu - New World': Directory not empty – gabiro Mar 16 '13 at 5:33
    
Did you use -rf? – Ramon Suarez Mar 28 '13 at 11:50
    
-rf I think I used rm -r -f -v sir. – gabiro Mar 28 '13 at 13:59
    
I just did a test with the same directory name and it worked for me, also using your way of separating r f v. Are you sure you are using rm and not rmdir? Did the verbose (-v) give you any clues? Also, are there any 0 byte files within your directory? "rm -r -f -v Wan\ Pisu\ -\ New\ World/ removed 'Wan Pisu - New World/test.test' removed directory: 'Wan Pisu - New World'" – Ramon Suarez Mar 28 '13 at 16:53
    
no, they are only folders. Also when I'm deleting it on Windows it is Error; 0x----- cannot delete also. -v is explaining what is being done I know rm --help – gabiro Mar 29 '13 at 12:36

Try: rmdir --ignore-fail-on-non-empty *directory*

share|improve this answer
    
this doesn't do anything. – 3amsleep May 19 '15 at 16:21

If you don't have write permissions set, you cannot remove the directory.

In example bellow, even though I am an owner of the directory, I cannot remove it. Once I add write permissions with chmod - everything succeeds.

DIR:/xieerqi
skolodya@ubuntu:$ ls -dl TESTDIR/                                              
dr-xr-xr-x 2 xieerqi xieerqi 4096 Jan 24 16:06 TESTDIR//

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              
rm: cannot remove ‘TESTDIR/one & two’: Permission denied
rm: cannot remove ‘TESTDIR/tom&jerry’: Permission denied
rm: cannot remove ‘TESTDIR/jekyl&hide’: Permission denied
rm: cannot remove ‘TESTDIR/pdfReader.sh’: Permission denied

DIR:/xieerqi
skolodya@ubuntu:$ chmod +w TESTDIR/                                            

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              

DIR:/xieerqi
skolodya@ubuntu:$ echo $?
0
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.