精华内容
下载资源
问答
  • rmdir 无法删除非空目录。 rm -rf 可以递归,强制,删除目录 转载于:https://www.cnblogs.com/everfight/p/rm_dir.html

    rmdir 无法删除非空目录。
    rm -rf 可以递归,强制,删除目录

    转载于:https://www.cnblogs.com/everfight/p/rm_dir.html

    展开全文
  • linux删除非空目录

    2020-08-30 17:00:09
    如果是非空目录rmdir就不行了,此时可以用rm -rf 目录名。 -r 就是向下递归,不管有多少级目录,一并删除。 -f 表示force.使用了这个参数就不会提示你是否要删除了。

    如果是非空目录,rmdir就不行了,此时可以用rm -rf 目录名。
    -r 就是向下递归,不管有多少级目录,一并删除。
    -f 表示force.使用了这个参数就不会提示你是否要删除了。

    展开全文
  • 删除非空目录 rm -rf+非空目录 删除空目录 rmdir+目录名 删除非空文件 rm -f+文件名

    删除非空目录 rm -rf+非空目录
    删除空目录 rmdir+目录名
    删除非空文件 rm -f+文件名

    展开全文
  • linux c 删除非空目录

    2021-04-18 11:09:12
    Linux下系统api int rmdir(const char *pathname);可以删除目录。但使用rmdir函数时,目录必须为空,否则调用失败,函数返回-1,执行成功时,函数返回0。    也可以通过shell命令rm -rf删除掉非空目录。但在程序中...

    Linux下系统api int rmdir(const char *pathname);可以删除目录。但使用rmdir函数时,目录必须为空,否则调用失败,函数返回-1,执行成功时,函数返回0。
      
      也可以通过shell命令rm -rf删除掉非空目录。但在程序中若要调用shell命令必须通过system或者exec函数簇启动一个进程。这样一是耗费系统资源,降低程序执行的效率。二是无法知道执行的结果。故自己实现一个删除非空目录的函数,下面是函数的几个要点:
      
      1.若要删除一个目录,必须将给目录下的文件全部删除,系统调用int remove(const char * pathname)可以删除一个普通文件;
      
      2.需要遍历目录中的每一项,而目录中可能还有目录,故需要用递归调用;
      
      3.每个目录下会有两个默认的目录.和..分别代表当前目录和上一目录,在遍历的时候需要忽略它们;

    4.递归结束的条件是遍历到的文件为普通文件(此时会将普通文件删除);

    5.当一个目录中的内容全部被删除之后,便可以删除该目录了。

    代码实现如下所示:

    #include <sys/stat.h>
    #include <dirent.h>
    #include <fcntl.h>
    
    /**
    * 递归删除目录(删除该目录以及该目录包含的文件和目录)
    * @dir:要删除的目录绝对路径
    */
    int remove_dir(const char *dir)
    {
    	char cur_dir[] = ".";
    	char up_dir[] = "..";
    	char dir_name[128];
    	DIR *dirp;
    	struct dirent *dp;
    	struct stat dir_stat;
    
    	// 参数传递进来的目录不存在,直接返回
    	if ( 0 != access(dir, F_OK) ) {
    		return 0;
    	}
    
    	// 获取目录属性失败,返回错误
    	if ( 0 > stat(dir, &dir_stat) ) {
    		perror("get directory stat error");
    		return -1;
    	}
    
    	if ( S_ISREG(dir_stat.st_mode) ) {	// 普通文件直接删除
    		remove(dir);
    	} else if ( S_ISDIR(dir_stat.st_mode) ) {	// 目录文件,递归删除目录中内容
    		dirp = opendir(dir);
    		while ( (dp=readdir(dirp)) != NULL ) {
    			// 忽略 . 和 ..
    			if ( (0 == strcmp(cur_dir, dp->d_name)) || (0 == strcmp(up_dir, dp->d_name)) ) {
    				continue;
    			}
    			
    			sprintf(dir_name, "%s/%s", dir, dp->d_name);
    			remove_dir(dir_name);   // 递归调用
    		}
    		closedir(dirp);
    
    		rmdir(dir);		// 删除空目录
    	} else {
    		perror("unknow file type!");	
    	}
    	
    	return 0;
    }
    


     

    展开全文
  • 但是发现它无法删除非空目录. 后来发现了原来应该使用命令 rm -rf 目录名 其中参数-f表示force.使用了这个参数就不会提示你是否要删除了. 转载于:https://www.cnblogs.com/aboutblank/p/3272131.html...
  • 在进行非空目录的删除时,我一直以为使用 rmdir 命令即可,但是系统提示该命令不可以删除非空目录 经过查阅资料发现删除非空目录需要使用 rm -rf 'filename' 其中参数 -f 表示force. 使用了该参数表示强制删除 ...
  • 例如删除当前目录下的非空目录 demo ,命令 rmdir demo 无法删除非空的目录. 应该使用命令 rm -rf 目录名 即如下命令: rm -rf demo   其中参数-f 表示force .使用了这个参数就不会提示你...
  • linux下删除非空目录

    万次阅读 2015-01-22 11:53:07
    删除非空文件夹的命令要使用 rm,而不是rmdir。 使用方式:rm [-rf] dirName  参数:-r 将目录及以下之档案亦逐一删除,-f 强行删除,不需询问。 rmdir命令是用来删除空的目录。 使用方式:rmdir [-p] ...
  • linux删除多级非空目录

    千次阅读 2014-04-05 14:32:56
    这个问题很basic,不过还是困扰了我一段时间.(这里主要讨论的是命令行...但是发现它无法删除非空目录. 后来发现了原来应该使用命令 rm -rf 目录名 其中参数-f表示force.使用了这个参数就不会提示你是否要删除了.
  • Linux下删除非空目录

    2013-01-22 20:50:10
    rm -rf 目录rmdir 删除空目录
  • rm -rf 目录名 解释: 1、r意思是删除目录,f...2、如果目录为空,可以用 “rmdir 目录名”删除。 3、如果目录不为空,可以用“rm -r 目录名”删除。 转载于:https://www.cnblogs.com/dawenhao/p/6146101.html...
  • linux下删除非空目录

    千次阅读 2007-07-31 19:16:00
    这个问题很basic,不过还是困扰了我一段时间.(这里主要讨论的是命令行模式下)我本来觉得应该使用命令 rmdir但是发现它无法删除非空目录.后来发现了原来应该使用命令 rm -rf 目录名其中参数-f表示force.使用了这个...
  • linux中删除目录的方法有几个不同的命令,如rmdir这个只能删除空目录,如果想删除非空目录我们需要使用白领命令来实现,下面我来给大家介绍介绍,rm命令在linux中创建文件很容易,系统中随时会有文件变得过时且...
  • Linux删除目录非空的文件夹命令

    千次阅读 2018-10-24 16:55:47
    linux删除目录可以用rmdir,但是当目录非空时,就不可以用这个命令了。此时使用直接rm -rf 即可: rm -rf 目录名字 其中:  -r 就是向下递归,不管有多少级目录,一并删除  -f 就是直接强行删除,不作任何提示....
  • Linux 命令行上删除文件和目录,我们已经讨论过 rm 命令 的使用。然而,这里有另一个相关的命令行工具,专门针对目录的删除。这是所指的工具就是 rmdir,本教程中,... 如何让 rmdir 忽略非空目录?35%◈ Q3. 如何
  • 删除空文件夹用rmdir,但删除非空文件夹要用rm. 语法 rm [-rf] dir_name 参数:-r将目录及以下逐一删除,-f强行删除,不需询问
  • 1.命令功能rmdir:删除空白目录2.命令格式rmdir [选项] 目录3....命令实例例子1:不能删除非空目录[root@bogon ~]# lsaa abc anaconda-ks.cfg Desktop file1 file2 gg install.log install.log.syslog[root@bog...
  • mkdir 建立名称为 dirName 之子目录 mkdir -p| 确保目录名称存在,不存在的就建一个(创建多级目录) —-|— rmdir删除空的目录(注:空目录,用法同mkdir不在举例) ... 删除非空目录 ...
  • linux指令-rmdir

    2020-02-05 09:33:26
    删除目录,不能删除非空目录,当子目录被删除后也父目录成为空目录的话,则一并删除 rmdir -p a/b/c 等同于 rmdir a/b/c a/b a 【Java面试题与答案】整理推荐 基础与语法 集合 网络编程 并发编程 Web ...
  • 00. 目录 文章目录00. 目录01. 命令概述02. 命令格式03....当要删除非空目录时,就要使用带有“-R”选项的rm命令。 rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。 ...
  • Linux下当我们用rmdir命令删除文件夹时,经常会出现 “rmdir: failed to remove ‘tmp’: Directory not empty” 这样的错误,那么,如何删除非空文件夹呢? 其实很简单,用如下命令就可以了, rm -rf 目录...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 521
精华内容 208
关键字:

linuxrmdir非空目录

linux 订阅