使用rm -rf命令删除目录提示 “Directory not empty”
时间:2023-09-02 15:07:02
在linux在系统中,有时需要删除一个目录通常表明该目录不是空的,不能删除,通常是由于在某些过程中使用该目录中的文件。
imaginemiracle:gcc$ rm -rf aaa/ rm: cannot remove 'aaa/ss/gcc': Directory not empty
解决方法:
以下隐藏文件将存在于此目录中
imaginemiracle:gcc$ la aaa/ss/gcc/ .fuse_hidden00051d20000000b3 .fuse_hidden00051e39000000b5 .fuse_hidden00052479000000b7 .fuse_hidden00052617000000b9 .fuse_hidden00051dd8000000b4 .fuse_hidden00051e46000000b6 .fuse_hidden00052544000000b8 .fuse_hidden00052ed5000000ba
我们需要做的是找到正在使用这些文件的过程并将其放在一边kill
可以。寻找方法如下:
imaginemiracle:gcc$ lsof aaa/ss/gcc/.fuse_hidden00051d20000000b3 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME cc1 439914 imaginemiracle 7r REG 8,2 30739 3757251 aaa/ss/gcc/.fuse_hidden00051d20000000b3
imaginemiracle:gcc$ sudo kill -9 439914 imaginemiracle:gcc$ rm -rf aaa/
kill
占用过程完成后,可以正常删除目录。