rm: cannot remove `/usr/local/tmp/': Directory not empty
来源:互联网 发布:淘宝店铺图标大全 编辑:程序博客网 时间:2024/05/22 08:08
问题
删除目录是遇到错误提示:
rm: cannot remove `/usr/local/tmp/’: Directory not empty
即使使用rm -rf ,还是会出现相同提示。
原因
要删除的目录下有文件正在被使用。
验证
情况1:
创建tmp目录,并在其下创建文件test.txt
$ mkdir tmp$ echo “123” > tmp/test.txt
删除目录,非常顺利
$ rm -rf tmp/
情况2:
接着看,如果有文件被占用的情况。
写一段占用文件的代码如下。
#include <stdio.h>#include <string.h>#include <unistd.h>int main(){ int i = 0; char buffer[10] = {0}; while(1) { FILE *fp = fopen("tmp/test.txt", "w"); if (fp == NULL) { printf("open failed.\n"); return -1; } memset(buffer,0,10); sprintf(buffer,"%d\n", i); fputs(buffer, fp); fflush(fp); fclose(fp); sleep(0.5); ++i; } return 0;}
编译,执行
$ gcc test.c -o test$ ./test &[1] 16293
该程序打开文件,写入内容,关闭文件,一直循环,保持占用文件。
尝试删除目录,此时得到错误提示
$ rm -rf tmp/rm: cannot remove `tmp': Directory not empty
由此证明,当目录下有文件正在被使用时,如果要删除目录,会得到错误提示的问题。
0 0
- rm: cannot remove `/usr/local/tmp/': Directory not empty
- /bin/rm: cannot remove directory `/tmp/bootstrap': Operation not permitted ./runcluvfy.sh: line 99:
- rm: cannot remove `dir-name': Directory not empty(文件夹里有.fuse_hidden0000007f00000002)
- rm: cannot remove directory `test': Permission denied
- “rmdir: failed to remove ‘tmp’: Directory not empty”解决方案–Linux命令行如何删除非空文件夹
- Could not compile libxml2: /bin/rm: cannot remove `libtoolT': No such file or directory
- directory /usr/local/bin does not exist
- remove a directory which is not empty
- rm: cannot remove `xxx': Operation not permitted
- rm: 0653-611 Directory xxxxx is not empty
- go: cannot find GOROOT directory: /usr/local/go
- rm: cannot remove `libtoolT': No such file or directory
- /bin/rm: cannot remove `libtoolT': No such file or directory
- ls -la /usr/local/tmp
- docker 1.13 centos7 mv: can't remove : Directory not empty
- Error “Cannot Delete folder: The directory is not empty” Fix
- QT5 cannot find usr/local/lib, file format not recognized
- LNMP rm: cannot remove `.user.ini': Operation not permitted
- 搭积木 蓝桥杯
- 2.5. Creating Exchange Instances
- 古堡算式
- yolo源码学习(一)
- 操作系统基础:Linux内核启动过程
- rm: cannot remove `/usr/local/tmp/': Directory not empty
- 2.6. Transforming Message Content
- 每个程序员都应该了解的知识有哪些?(2015.11)
- Merge k Sorted Lists
- C++第三方库总结
- 2.7. Property Placeholders
- Ruby instance_eval 与 class_eval
- 九度 OJ 1444:More is better
- JMS基本概念