在Linux系统中,有几种删除目录的方法。如果使用桌面文件管理器,例如Gnome的文件或KDE的Dolphin,则可以使用图形用户界面管理器删除文件和目录。但是,如果您在没有GUI的服务器上工作,或者想一次删除多个目录,最好的选择是从命令行中删除目录(文件夹)。

在这篇文章中,我们将介绍如何删除使用Linux中的目录rmdir,rm和find命令。

在你开始之前

当您使用桌面文件管理器删除目录时,该目录实际上是移至垃圾箱,并且可以轻松恢复。

从命令行删除文件或目录时要格外小心,因为一旦使用本文介绍的命令删除了目录,就无法完全恢复目录。

在大多数Linux文件系统上,删除目录需要对该目录及其内容具有写权限。否则,您将收到“权限不允许操作”错误。

其中包含空格的目录名称必须使用反斜杠/进行转义。

使用rmdir删除目录

rmdir是用于删除空目录的命令行实用程序。当您仅希望目录为空时才能删除它,而无需检查目录是否为空,此功能很有用。

要使用rmdir删除目录,请键入命令,然后输入要删除的目录名称。例如,要删除名为的目录,dir1请输入:rmdir dir1

如果目录不为空,则会出现以下错误:rmdir: failed to remove 'dir1': No such file or directory

在这种情况下,需要先使用rm命令或手动删除目录内容,然后才能删除它。

使用rm删除目录

rmdir命令不同,rm可以删除空目录和非空目录。

默认情况下,不带任何选项rm使用时不会删除目录。要删除一个空目录,请使用-d(--dir)选项,删除一个非空目录,使用-r(--recursive或-R)选项,其所有内容都将删除。

例如,要删除一个目录dir1及其所有内容,您可以输入:rm -r dir1

如果目录或目录中的文件受写保护,则将提示您确认删除。要删除目录而不提示您,请使用-f选项:rm -rf dir1

要一次删除多个目录,使用rm命令,后跟用空格分隔的目录名称。下面的命令将删除列出的每个目录及其内容:rm -r dir1 dir2 dir3

-i选项告诉rm 让您确认每个子目录和文件的删除。如果目录中包含很多文件,这可能会很烦人,因此您可以考虑使用该-I选项,该选项仅会提示您一次,然后再进行删除。rm -rI dir1

输入y并Enter。rm: remove 1 argument recursively? y

您还可以使用常规扩展名来匹配和删除多个目录。例如,要删除当前目录中所有以结尾的第一级目录_bak,可以使用以下命令:rm -r *_bak

建议首先使用rm命令之前可以看到要删除的目录。

使用find删除目录

最常见的情况是使用find命令根据模式删除目录。例如,要删除_cache以当前工作目录结尾的所有目录,请运行:find . -type d -name '*_cache' -exec rm -r {} +

让我们分析上面的命令:/dir-在当前工作目录(.)中递归搜索。

-type d -将搜索限制为目录。

-name '*_cache' -仅搜索以_cache结尾的目录

-exec-执行带有可选参数的外部命令,在这种情况下为rm -r。

{} +-将找到的文件追加到rm命令末尾。

删除所有空目录

要删除目录树中的所有空目录,请使用:find /dir -type d -empty -delete

这是使用的选项的说明:/dir-在/dir目录中递归搜索。

-type d -将搜索限制为目录。

-empty -仅将搜索限制为空目录。

-delete-删除子树中所有找到的空目录。-delete只能删除空目录。

-delete谨慎使用该选项。find命令行被评估为表达式,如果您-delete首先添加该选项,该命令将删除您指定的起点以下的所有内容。始终-delete用作最后一个选项,在删除之前,请先测试不带-delete选项的命令。

/bin/rm:参数列表太长

当您使用rm命令删除包含大量文件的目录时,会出现此错误消息。发生这种情况是因为文件数大于命令行参数大小的系统限制。

有几种不同的解决方案来解决此问题。例如,您可以手动循环逐个删除子目录。

最简单的解决方案是首先使用find命令删除目录中的所有文件,然后删除目录:find /dir -type f -delete && rm -r /dir

结论

使用rm和find您可以根据不同的标准快速有效地删除目录。

删除目录是一个简单而轻松的过程,但是您必须小心不要删除重要数据。

在linux中删除多级目录,如何在Linux中删除目录相关推荐

  1. 在linux批量删除多级目录下同一格式的文件

    在linux批量删除多级目录下同一格式的文件,可采用find + exec命令组合: 如在删除指定目录下的,所有子目录中,后缀为.doc的文件方法为: find file_path -type f - ...

  2. linux 怎么删除大文件,如何在Linux中删除超大的(100-200GB)文件

    平日,要在 Linux 终端删除一个文件,我们应用 rm 敕令(删除文件).shred 敕令(安然删除文件).wipe 敕令(安然擦除文件)或者 secure-deletion 对象包(一个安然文件删 ...

  3. linux下删除木目录的方法,rmdir/rm删除目录的区别

    1 Linux中rmdir命令是用来删除空的目录. 使用方式: rmdir [-p] dirName 参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除. 举例说明: rmdir f ...

  4. 在linux中删除多级目录,如何使用一个Linux命令删除多个子目录 | MOS86

    如果要使用Linux中的命令行删除另一个目录中的几个子目录,通常您必须多次使用rm命令.但是,有一个更快的方式来做到这一点. 说的我们有一个名为htg的目录,其中有五个子目录,我们要删除其中的三个目录 ...

  5. linux建立文件的符号链接,如何在Linux中创建符号链接[完整指南]

    Linux中的符号链接是什么,为什么使用它? 符号链接(也称为符号链接或软链接)是一种特殊类型的文件,它只是指向另一个文件或目录,就像Windows中的快捷方式一样,创建符号链接就像为实际文件创建别名 ...

  6. IDEA 中创建多级目录

    IDEA 中创建多级目录 1.问题描述 之前跟着网上的教程搭建 Mybatis 快速入门的小 Demo,进行单元测试时居然抛异常了:Cause: java.io.IOException: Could ...

  7. File 删除多级目录下的文件和文件夹

    前提 删除多级目录 必须保证先删除文件 再删除空的文件夹 //删除 E盘itcast文件夹下所有内容File ff = new File("E:\\itcast");delectF ...

  8. Linux源码的目录结构和Linux文件系统的目录结构

    Linux源码的目录结构和Linux文件系统的目录结构 我是一个小白,最近找工作找到是一份驱动方面的工作,刚从学校毕业出来啥也不懂.个人觉得首先了解的就是一个工程的目录下的文件分别表示什么,所以看了别 ...

  9. linux 多级目录查找,Linux如何在多级目录中查找某个文件

    Linux在多级目录中查找某个文件的方法:find /dir -name filename.ext du -a | grep filename.ext locate filename.ext Linu ...

最新文章

  1. 三角形css_纯 CSS 实现绘制各种三角形(各种角度)
  2. 设计模式 — 行为型模式 — 中介者模式
  3. 爬虫好学吗python-小白python学到什么程度可以学习网络爬虫? ?
  4. java版电子商务spring cloud分布式微服务b2b2c社交电商-spring cloud gateway之filter篇
  5. pagerank公式的理解
  6. scanperiod 不生效
  7. ORA-29807: specified operator does not exist
  8. kali使用msf 通过ms17_010_eternalblue(永恒之蓝)漏洞攻击win7测试 及乱码问题解决
  9. 阿里云新手必踩坑系列 - 安全组
  10. Javascript基础之-强制类型转换(三)
  11. 制作OTA U盘升级包
  12. 如何利用javascript获取表单中select下拉列表中所选中项的值value
  13. RabbitMQ的工作模式及消息顺序性的保证
  14. DbUtils jar包下载
  15. 十八掌教育_徐培成_Hadoop3.0-01.简介
  16. 电脑桌面的计算机图标都不见了,如何解决电脑桌面的图标都不见了的问题
  17. it培训和自学的优缺点分析
  18. 华南师范大学计算机考研考场,华南师范大学2018考研考场安排
  19. 【解救ROS】clion2022.2.2的安装永久使用教程
  20. 开源四足机器人 附设计图及代码

热门文章

  1. Mac上好用的滤镜软件
  2. 如果手机不慎丢失,微信支付宝绑定的银行卡怎么办?
  3. 群晖Virtual Machine Manager虚拟机安装OpenWrt软路由作为旁路由的详细步骤
  4. Notepad++ 8.1.2 release 官网下载的资源 window64位 中文|Notepad++安装包下载
  5. DRGs SQL数据库关联数据查询城乡居民医疗保险重复参保及重复报销
  6. Screen Snapshot for Mac(高效屏幕截图工具)
  7. 机顶盒平台的字幕数据格式分析及其显示实现
  8. jquery.slimscroll.min.js轮动条插件
  9. 怎样升级oppo手机android版本,OPPO R9手机全网通版升级ColorOS 3.0:基于安卓6.0
  10. 阿波罗数据集怎么下载_携程Apollo简单入门教程这一篇就够了