(点击上方快速关注并设置为星标,一起学Python)

来自:Linux公社  作者:醉落红尘

链接:https://www.linuxidc.com/Linux/2019-08/159921.htm

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

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

在你开始之前

使用桌面文件管理器删除目录时,该目录实际上已移至“废纸篓”,并且可以轻松恢复。

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

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

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

删除目录 rmdir

rmdir 是一个用于删除空目录的命令行实用程序。只有当目录为空时才需要删除目录,而不需要检查目录是否为空。

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

linuxidc@linuxidc:~$ rmdir linuxmi

如果目录不为空,您将收到以下错误:

rmdir: 删除 'linuxmi' 失败: 目录非空

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

删除目录 rm

rm 是一个用于删除文件和目录的命令行实用程序。与命令不同 rmdir, rm 可以删除空目录和非空目录。

默认情况下,在没有任何选项的情况下使用时 rm 不会删除目录 要删除空目录,请使用 -d(--dir) 选项。 如果要删除非空目录和其中的所有内容,请使用 -r(--recursive 或 -R) 选项。

例如,要删除一个名为 linuxmi 及其所有内容的目录,您可以键入:

rm -r linuxmi

如果目录中的目录或文件受到写保护,系统将提示您确认删除。要在不提示的情况下删除目录,请使用以下 -f 选项:

rm -r dirname

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

rm -r linuxmi linuxmi linuxidc

该 -i 选项告诉 rm 提示您确认删除每个子目录和文件。如果目录包含大量文件,这可能有点烦人,因此您可以考虑使用 -I 在继续删除之前只提示您一次的选项。

rm -rI linuxidc

确定要删除目录请输入 y 并点击 Enter 。

rm: remove 1 argument recursively? y

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

rm -r *_bak

删除目录时使用常规扩展可能存在风险。建议首先使用该 ls 命令列出目录,以便在运行 rm 命令之前查看将删除的目录。

删除目录 find

find 是一个命令行实用程序,允许您根据给定的表达式搜索文件和目录,并对每个匹配的文件或目录执行操作。

最常见的情况是使用 find 命令根据模式删除目录。例如,要删除当前工作目录中所有以 _cache 结尾的目录,请运行:

find . -type d -name '*_cache' -exec rm -r {} +

让我们分析一下上面的命令:•.- 递归搜索当前工作目录(.)。•-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: Argument list too long

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

这个问题有几种不同的解决方案。例如,您可以 cd 手动或使用循环逐个删除子目录到目录。

最简单的解决方案是首先使用该 find 命令删除目录中的所有文件,然后删除目录:

find /dir -type f -delete && rm -r /dir

总结

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

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

以上,便是今日分享,觉得不错,还请点个在看,谢谢~

(完)看完本文有收获?请转发分享给更多人关注「Python那些事」,做全栈开发工程师点「在看」的人都变好看了哦

linux rm 文件找回_Linux 中删除目录的多种方法相关推荐

  1. linux rm 文件找回_linux rm -rf * 文件恢复记

    手太快,肠子都毁清了.本来是删除一个文件 rm path/myfile.txt 结果不知为何加了个*,变成了 rm path/myfile.txt * 赶紧ls,发现所有代码都化为了乌有,还没提交,还 ...

  2. linux rm 文件找回_linux rm -rf 删除文件之后的恢复办法

    记录我尝试恢复rm命令删除文件之后的恢复的三种办法. 先不管使用哪种办法,网上找到的主流的都是基于inode的,所以,在文件被删除后,马上挂起挂载盘只允许读操作,拒绝写操作是第一要义. 第一种 误删文 ...

  3. linux rm 文件找回_linux下执行rm -rf命令后如何恢复

    果真感觉蛋疼了,欲哭无泪啊!写了一天的成果,想着把之前备份的文件删除呢,结果把刚写完的删了. 国外著名linx管理员守则中有这么一条:"慎用rm -rf命令,除非你知道此命令将带来什么后果. ...

  4. linux rm 文件找回_linux rm让你在删除的文件有地方找回 | DevOps

    一个不小心rm掉文件了吧?后悔莫及了吧! 把这段代码加入你的home目录的.bashrc或者.zshrc就可以了 工作原理:在你的home目录会创建一个.trash文件夹,里面会按照删除时间 年-月- ...

  5. DMG转ISO文件在windows系统下的多种方法

    文章来自本人博客:https://lwxshow.com/post/1476.html DMG转ISO文件在windows系统下的多种方法. 大家可能都想在vm虚拟机上安装苹果系统,直接加载dmg不行 ...

  6. linux压缩文件命令_Linux基础篇(二)--Linux常用命令

    Linux命令的执行需要依赖于Shell命令解释器.Shell实际上是在Linux系统中运行的一种特殊程序,Shell直译过来就是壳的意思,它位于操作系统内核之上,负责接受用户输入的命令并进行解释,将 ...

  7. linux压缩文件命令_linux常见的命令行和快捷键(带英文全称,便于记忆)

    别光收藏啊,点个赞支持一下呗 1.linux的shell简介 传统意义上的shell指的是命令行,分为交互式和非交互式:交互式也就是用户在命令行输入一个命令,操作系统执行一个命令:非交互式是用户把一系 ...

  8. linux 删除文件命令_Linux系统常用的文件管理命令

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解在Linux系统中,常用的文件管理工具有哪 ...

  9. linux 硬链接 软链接_Linux中的软链接–完整参考

    linux 硬链接 软链接 A link in Linux systems are pointers to a file or a directory. There are two types of ...

最新文章

  1. python5_python5
  2. Android插件化开发之解决OpenAtlas组件在宿主的注冊问题
  3. iOS开发者React Native学习路线
  4. 创业要有创意--应当注意的八大细节
  5. .net体系结构——C#高级编程第一章
  6. Mozilla FireFox 2.0 简体中文版发布
  7. python3 十六进制字符串进行分割并累加
  8. 3年flash游戏开发小结
  9. How fast is a C++ extension by the PHP-CPP liberary?
  10. Xmanager4注册码
  11. 给机器人罗宾写一封英语回信_人教版pep小学英语三年级起点六上单词和习惯用语朗读mp3+文本Unit1...
  12. 【2020 ACM Fellow 华人学者】 Wei Wang 加州大学洛杉矶分校
  13. 恶搞视频聊天偷拍源码
  14. 【DOORS】产品功能介绍
  15. 声网发布极速直播、低码高清 首创轻互动直播,节省50%带宽成本
  16. matlab结构体与元胞,元胞数组与结构体数组
  17. 电路原理仿真测试软件,测试工具篇-运放测试电路仿真《TINA-TI》
  18. 大学物理(下)class1
  19. MarkDown中插入的代码块无法自动识别换行
  20. WMPlayer视频播放器,AVPlayer的封装

热门文章

  1. AcWing 1969. 品种邻近(滑动窗口+枚举)
  2. 牛客编程巅峰赛S2第6场 - 钻石王者
  3. 邯郸计算机理工学院,邯郸理工学校2021年招生简章
  4. mysql解压rar至指定文件夹_PHP解压ZIP文件到指定文件夹的方法
  5. 基于Java分词的ikanalyzer工具
  6. oracle基础入门(四)
  7. C++ 变量、常量、符号常量
  8. IntelliJ IDEA设置代码提示(常用快捷键)
  9. 设置PDF文件默认缩放比例
  10. 大家社区荣获最具影响力品牌