精华内容
下载资源
问答
  • linux删除目录

    千次阅读 2012-07-04 10:08:51
    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字-r 就是向下递归,不管有多少级目录,...
    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。
    直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
    -r 就是向下递归,不管有多少级目录,一并删除
    -f 就是直接强行删除,不作任何提示的意思

    工具/原料

    • Linux  rm命令

    步骤/方法

    1. 删除文件夹实例:
      rm -rf /var/log/httpd/access
      将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
    2. 删除文件使用实例:
      rm -f /var/log/httpd/access.log
      将会强制删除/var/log/httpd/access.log这个文件

    注意事项

    • 使用这个rm -rf的时候一定要格外小心,linux没有回收站的

     

    展开全文
  • Linux 删除目录的方法

    千次阅读 2020-11-18 17:21:24
    1、使用rmdir删除目录 Rmdir命令间成“remove directory”,用于删除空目录的命令。 例如,删除一个名为“MyDocuments”的空目录: [root@localhost test]# rmdir MyDocuments 如果目录不是空的,会提示错误: ...

    1、使用rmdir删除目录

    Rmdir命令间成“remove directory”,用于删除空目录的命令。

    例如,删除一个名为“MyDocuments”的空目录:

    [root@localhost test]# rmdir MyDocuments

    如果目录不是空的,会提示错误:

    rmdir: failed to remove ‘MyDocuments’: Directory not empty

    2、使用rm命令删除目录

    rm命令通常用于删除Linux中的文件。可以添加参数用来删除目录。例如,递归地删除目录,使用递归选项-r或-R,如果目录是受写保护的,则会提示是否继续删除目录和目录中的文件作为一个整体。-f 强制删除而不被提示。

    [root@localhost test]# rm -rf MyDocuments/

    可以在单个命令中删除多个目录,如下面的命令所示。命令删除所有目录和它们的子目录,而不提示删除。

    [root@localhost test]# rm -rf dir1 dir2 dir3

    3、使用find命令

    Find命令帮助用户根据特定的表达式搜索文件和目录。此外,该命令可用于搜索目录并根据指定的搜索标准删除它们。

    删除当前目录中的名为”MyDocuments”的目录

    [root@localhost test]# find . -type d -name "MyDocuments" -exec rm -rf {} +
    • . 表示在当前目录执行
    • -type d 只搜索目录
    • -name 指定目录名称
    • -exec rm -rf 执行rm命令删除所有目录即内容
    • {} + 追加在rm命令末尾

    4、删除一个空目录

    如果希望删除所有空目录,请使用以下命令:

    [root@localhost test]# find . -type d -empty -delete
    • -empty 只对空目录进行限制
    • -delete 删除包括子目录在内的所有空目录
    展开全文
  • linux删除目录命令If you want to remove several subdirectories within another directory using the command line in Linux, generally you have to use the rm command several times. However, there is a ...
    linux删除目录命令

    linux删除目录命令

    00_lead_image_removing_multiple_subdirectories

    If you want to remove several subdirectories within another directory using the command line in Linux, generally you have to use the rm command several times. However, there is a faster way to do this.

    如果要在Linux中使用命令行删除另一个目录中的多个子目录,通常必须多次使用rm命令。 但是,有一种更快的方法可以做到这一点。

    Let’s say we have a directory called htg with five subdirectories within it and we want to delete three of them. In a normal situation, we’d use the rm command three times.

    假设我们有一个名为htg的目录,其中包含五个子目录,我们想删除其中的三个。 在正常情况下,我们将使用rm命令3次。

    02_removing_subdirectories_separately

    However, we can make this process even shorter by combining the three rm commands into one. Here’s how.

    但是,通过将三个rm命令组合为一个,我们可以使此过程变得更短。 这是如何做。

    To remove the three subdirectories you only need to type the following command at the prompt and press Enter (obviously, change the directory names to what you want to remove).

    要删除这三个子目录,只需在提示符下键入以下命令,然后按Enter键(显然,将目录名更改为要删除的目录名)。

    rm -r ~/Documents/htg/{done,ideas,notes}
    

    The words in the brackets are part of the “brace expansion list”. Each of the items in the brace expansion list is appended separately to the preceding path (~/Documents/htg/). For example, the above command is expanded into ~/Documents/htg/done, ~/Documents/htg/ideas, and ~/Documents/htg/notes, the three subdirectories under the htg directory that we want to remove. As you can see in the screenshot below, those three subdirectories were removed.

    方括号中的词是“括号扩展列表”的一部分。 大括号扩展列表中的每个项目都分别附加到前面的路径(〜/ Documents / htg /)。 例如,以上命令被扩展为〜/ Documents / htg / done,〜/ Documents / htg / ideas和〜/ Documents / htg / notes,这是我们要删除的htg目录下的三个子目录。 如下面的屏幕快照所示,这三个子目录已被删除。

    03_removing_three_subdirectries_at_once

    The -r flag is required when using the rm command to remove a directory rather than a file. If you leave the -r flag out of the above command, you will get an error saying that the directories cannot be removed.

    使用rm命令除去目录而不是文件时,需要-r标志。 如果将-r标志保留在上述命令之外,则会收到一条错误消息,指出无法删除目录。

    04_cannot_remove_subdirectory

    If all of the subdirectories you want to remove are empty, you can use the rmdir command, as shown below.

    如果要删除的所有子目录都为空,则可以使用rmdir命令,如下所示。

    rmdir ~/Documents/htg/{done,ideas,notes}
    

    If it turns out that any of the subdirectories are not empty, an error will display saying that the removal failed and the subdirectory in question and its subdirectories are not removed. However, any empty subdirectories are removed.

    如果事实证明子目录中的任何一个都不为空,则会显示一条错误消息,指出删除失败,并且该子目录及其子目录未删除。 但是,任何空的子目录都将被删除。

    05_using_rmdir_command

    Be very careful with the rm command. Using it the wrong way can delete all the files on your hard drive.

    rm命令要非常小心。 以错误的方式使用它可能会删除硬盘驱动器上的所有文件。

    You can also create a directory containing several subdirectories, or a directory tree, using one command.

    您还可以使用一个命令创建包含多个子目录的目录或目录树

    翻译自: https://www.howtogeek.com/276516/how-to-remove-multiple-subdirectories-with-one-linux-command/

    linux删除目录命令

    展开全文
  • C语言实现Linux删除非空目录

    万次阅读 多人点赞 2017-07-12 11:45:35
    Linux C语言 删除非空目录

    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;
    }
    

    如果喜欢我的文章请关注我的公众号,后期会有持续的更新!
    在这里插入图片描述

    展开全文
  • linux下如何删除目录

    千次阅读 2013-04-09 20:58:51
    linux删除一个目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可解决。 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有...
  • Linux删除文件和目录

    千次阅读 2020-06-03 08:19:25
    rmdir有局限,只能删除目录 rmdir 删除空文件夹 (如果文件夹非空,不能用这个命令) 用法 rmdir 空文件夹名称 示例 rmdir ./dir2/dir1 再 ls ./dir2 看一看,dir1 还有没有? rm删除一个文件或文件夹 用法...
  • linux 删除目录,非空文件夹

    千次阅读 2013-08-03 00:08:17
    rm命令  在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个... 如果没有使用- r选项,则rm不会删除目录。  该命令的各选项含
  • shell递归删除指定类型的目录, 及目录中的空文件夹
  • linux递归强行删除目录和文件

    万次阅读 2018-07-03 11:44:38
    linux删除一个目录很简单,使用rm -rf命令即可解决。 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 ...
  • java删除Linux目录下的文件夹

    千次阅读 2017-05-04 10:58:57
    在java程序中删除Linux目录下的文件夹主要步骤如下: String path = "/home/deledir";//文件夹路径 String[] cmd = new String[] { "/bin/sh", "-c", "rm -rf "+path };  try{ Process process = Runtime....
  • Linux删除目录非空的文件夹命令

    千次阅读 2018-10-24 16:55:47
    linux删除目录可以用rmdir,但是当目录非空时,就不可以用这个命令了。此时使用直接rm -rf 即可: rm -rf 目录名字 其中:  -r 就是向下递归,不管有多少级目录,一并删除  -f 就是直接强行删除,不作任何提示....
  • linux 递归删除多级目录

    千次阅读 2016-04-06 16:32:04
    代码如下: #include int CParseJson::emptyDir(const char* destDir) { int ret = 0; DIR* dp = NULL; struct dirent* entry = NULL; struct stat statbuf;... if ((dp = opendir(destDir)) == NULL) ... LOG4CXX
  • LINUX UNIX 删除目录的命令

    万次阅读 2010-06-10 10:40:00
    在unix 或者linux删除目录的时候, 使用rmdir,如果在目录下面有一些其他文件,会很难办。 因此可以使用 rm-rf 来解决这个问题。 -r 向下递归,不管有多少级目录,删除到最深。 -f 强行删除,...
  • rm:英文名remove,删除的意思。1. 命令格式:rm [选项] 文件或目录2. 常用选项:"rm -f" 强行删除,..."rm -r" 将参数中列出的全部目录和子目录进行递归删除。(r为recursive的意思) "rm -v" 详细显示删除操作进行的步
  • rm无法删除目录 删除目录时,需添加 -r 递归删除,这样就不会报错了哦
  • Linux下,如果想要删除目录及其子目录下某种类型文件,比如说所有的txt文件,则可以使用下面的命令: find . -name "*.txt" -type f -print -exec rm -rf {} \; . : 表示在当前目录下. -name "*.txt" :表示查找...
  • Linux删除目录中小于指定大小的文件

    千次阅读 2017-04-04 15:53:46
    Linux删除目录中小于指定大小的文件例:删除当前目录下小于50000KB的文件:命令: for file in ls ./; do size=`du $f | awk ‘{print $1}’`; [ $size -lt 50000 ] && rm $file; done
  • Linux删除目录及其子文件夹

    千次阅读 热门讨论 2015-10-18 19:23:02
    习惯了使用Windows操作系统,从没想过删除目录及其子文件夹会出现什么问题。然而,在Linux中这可能会给你带来困扰。 打开超级终端,我们通过mkdir命令来创建一个目录文件,自然会想到使用rmdir命令来删除这个目录...
  • 我想把/root下的文件全部删除,但不删除目录。一个一个的删除很浪费时间和精力。怎样用一个命令就可以做到呢?经过尝试终于找到一个好方法:find /root -type f | xargs rm -rf 这里,我要解释下 xargs 这个命令的...
  • linux软链接的创建、删除和更新

    万次阅读 多人点赞 2017-11-13 11:48:14
    在Windows系列中,我们称其为快捷方式,在Linux中我们称其为软链接(基本上都差不多了,其中可能有差别,但是那又怎样呢?我们只要实现我们的效果,谁会有精力去管它茴香的茴字有几种写法呢?)。 Windows老姑娘的...
  • ubuntu linux shell下删除目录命令

    千次阅读 2008-09-07 12:02:00
    ubuntu linux下在终端里面使用命令删除目录,是日常使用ubuntu时经常要用到的。大体来说Linux删除目录的命令有两个:rm,rmdir。rm命令删除目录虽说比较简单,但很多人还是习惯于使用rmdir命令。不过一旦所操作的目录...
  • linux终端删除文件命令Fatmawati Achmad Zaenuri/Shutterstock.comFatmawati Achmad Zaenuri / Shutterstock.com The rm and rmdir commands delete files and directories on Linux, macOS, and other Unix-like ...
  • Linux rmdir --删除目录

    千次阅读 2016-04-08 10:51:27
    昨天学习了创建文件和目录的命令rm,今天学习一下linux中命令:rmdir命令。rmdir是常用的命令,该命令的功能是删除目录,一个目录删除之前必须是空的。(注意,rm - rdir命令可代替rmdir,但是有很大危险性。)...
  • linux删除非空目录

    万次阅读 2015-01-22 11:53:07
    删除非空文件夹的命令要使用 rm,而不是rmdir。 使用方式:rm [-rf] dirName  参数:-r 将目录及以下之档案亦逐一删除,-f 强行删除,不需...参数:-p 是当子目录删除后使它也成为空目录的话,则顺便一并删除
  • linux删除目录下文件的几种方法总结

    万次阅读 2019-04-23 11:29:42
    删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -type f -exec rm -f {} \; #用find命令查找普通文件并删除or用find命令的处理动作将其删除 3....
  • Linux 删除文件夹及所有目录

    万次阅读 2018-07-05 16:06:44
    使用rm -rf 目录名字 命令即可r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思
  • linux删除多级非空目录

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

    千次阅读 2017-09-01 09:51:37
    批量删除指定目录下的文件 //删除当前目录下所有的 .log 结尾的文件 find . -name “*.log” -exec rm -rf {} \; 注: 1.{}和\之间有一个空格 2.find . -name 之间也有空格 3.exec 是一个后续的命令,{...
  • Linux rmdir命令:删除目录

    千次阅读 2019-06-22 15:59:55
    和 mkdir 命令(创建空目录)恰好相反,rmdir(remove empty directories 的缩写)命令用于删除目录,此命令的基本格式为: [root@localhost ~]# rmdir [-p] 目录名 -p 选项用于递归删除目录。 【例 1】 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 637,321
精华内容 254,928
关键字:

如何删除目录linux

linux 订阅