肥猫学习日记---------------Linux下实现rm命令
2019-08-08 20:52
225 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44965638/article/details/98884958
linux在终端运行rm filename时代表着删除文件或文件夹,标准库函数中rmdir仅仅能够删除空文件夹,因此我们要想删除包含文件的文件夹的话,要进入文件夹,删除所有文件后退至上一层再删除空文件夹,若是文件夹里包含文件夹则重复操作,具体内容如下
#include <stdio.h> #include <unistd.h> #include <dirent.h> #include <string.h> void rm_name(char* name) { if(0 == strcmp(name,".") || 0 == strcmp(name,"..") || 0 == unlink(name) || 0 == rmdir(name)) return; DIR* dp = opendir(name); if(NULL == dp) { perror("opendir"); return; } chdir(name); for(struct dirent* de=readdir(dp); NULL!=de; de=readdir(dp)) { rm_name(de->d_name); } chdir(".."); rmdir(name); } int main(int argc,char* argv[]) { rm_name(argv[2]); }
相关文章推荐
- Linux学习日记--基础命令(3)-文件操作,通配符,命令别名
- Linux命令学习总结:rm命令
- linux命令学习笔记(2)——mkdir,rm,rmdir命令
- linux命令学习(5):rm命令
- Linux学习日记--基础命令(6)--grep及正则表达式
- Linux学习(三):删除命令rm的注意事项
- Linux学习日记 —— 7.3.2 用户和用户组管理-用户组管理命令-修改用户密码passwd
- Linux学习日记--基础命令(7)--bash中的变量,配置文件
- Linux学习17_每天一个linux命令(5):rm 命令
- Linux学习笔记--rm命令(删除文件或目录)
- Linux学习日记 —— 4.3.2 文件搜索命令之其他文件搜索命令
- Linux学习日记 —— 10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
- Linux学习命令 - rm删除find查找之后的文件
- Linux学习日记 —— 11.2.3 Shell编程-字符截取命令-awk命令
- Linux 终端命令 rm 删除的文件进入回收站实现方法
- Linux学习日记--基础命令(1)--ls,帮助,LFS
- Linux学习笔记——rmdir命令和rm命令
- linux基础命令学习之rm(6)
- 每天一个 Linux 命令(5):rm 命令------学习笔记
- linux命令学习-文件目录之rm命令