Linux 中的删除目录:rm 和 rmdir 解析

Linux 中,需要删除目录文件时靠两个命令就能完成:rm 和 rmdir。乍一看它们相似,但行为却截然不同,如使用错误的命令,可能会删除远超预期的内容。

Linux rm 和 rmdir:命令概述

在执行任何删除命令之前,先要知道自己在文件系统中的位置。pwd 命令可以显示当前的工作目录,LS 会列出里面有什么。

以下是命令执行内容的快速参考:

RM 选项一览:

  • rm -d – 移除空目录
  • rm -r – 递归地移除目录及其所有内容
  • rm -f – 删除写保护文件时跳过确认提示
  • rm -rf – 递归删除,无提示,是否写保护
  • rm -i – 每次删除前的提示
  • rm -I – 如果删除超过 3 个文件,则出现单一提示
  • RM * – 多字符匹配的通配符
  • RM?– 通配符恰好匹配一个字符

RMDIR 选项:

  • rmdir -p – 移除空子目录及其父目录
  • rmdir -v – 打印目录已被移除的确认

经验法则:当你确定目录是空的,并且想防止文件意外丢失时,使用 rmdir;需要删除目录及其所有内容时则用 rm -r

在 Linux 运行任何删除命令前,一定要先进行备份。因为这些删除命令是永久性的,没有撤销的办法。

Rmdir 删除空目录

rmdir 命令通常用于删除空目录。如果你想使用命令行工具来删除一个空目录,可以使用rmdir——如果删除的不是空目录,将会报错并返回以下错误:

rmdir: failed to remove 'Directory': Directory not empty

基本语法:

rmdir DirectoryName

要在一个命令中删除多个空目录,请将它们列为独立的参数:

rmdir Directory_1 Directory_2 Directory_3

移除子目录及其父目录

-p 选项会移除一个子目录,沿路径向上移动,如果子目录消失后父目录也空,则删除该子目录:

rmdir -p /Directory/SubDirectory

这样先移除 SubDirectory,然后移除 Directory——但前提是 Directory 此时没有其他内容。

以 -v 确认删除

-v 标志会为每个被移除的目录打印一条消息。在删除多个目录并想确认具体删除内容时非常有用:

rmdir -v Simple-Directory

rmdir: removing directory, 'Simple-Directory'

 rm -r 删除非空目录

RM 是一个文件删除命令,但结合 -r(递归)后,它成为删除目录树的标准工具。递归标志会让它下降到子目录,删除所有子目录东西。

基本递归移除:

rm -r Simple-Directory

警告:这会永久删除目录及其内的所有内容。恢复需要备份。

跳过带有 -rf 的写保护提示

当目录或其内容被写保护时,rm 会暂停并在每个文件前请求确认。如果你对删除的内容有信心,-rf 会跳过所有提示:

rm -rf Simple-Directory

小心使用。递归和强制的结合是该命令最具破坏性的变体。跑之前一定要仔细检查路径。

一次删除多个目录

你可以通过一个 Linux 删除目录操作,将多个目录名作为参数传递,从而全部移除:

rm -r Directory_1 Directory_2 Directory_3

在 Linux 中使用 rm 命令删除文件

有时你想从目录中移除特定文件,但不涉及目录结构本身。

从当前工作目录中移除一个文件:

rm file.txt

一次删除多个文件:

rm file1.txt file2.txt file3.txt

通过指定路径移除不同目录中的文件:

rm dir/subdir/file.txt

带确认标志的安全删除

每次删除前都会提示 -i 标记。虽然慢一些,但如果你删除最近没检查过的文件,这样做很安全:

rm -i file1.txt file2.txt file3.txt

终端会要求每个文件填写 Y/N。如果你要删除大量文件且只想要一个确认,可以用 -I

rm -I file1.txt file2.txt file3.txt

要跳过所有确认,包括写保护文件,请使用 -f

rm -f file.txt

使用通配符删除多个文件

通配符让你用一个命令匹配文件组,而不是单独列出。星号可匹配任意数量的字符;问号正好对应一个。

删除当前目录中的所有.txt 文件:

rm *.txt

删除所有以字母’a’开头的文件:

rm a*

删除带有单字符扩展名的文件:

rm *.?

警告:先运行 ls,确认通配符模式匹配哪些文件后再用 rm。

快速参考:RM 与 RMDIR

  • rmdir – 仅限空目录,默认安全,若目录有内容则返回错误
  • RM -D – RM 对应空目录的应用
  • rm -r – 递归地移除非空目录;无法挽回
  • rm -rf – 递归,无提示;只有在确定目标目标时才使用。
  • RM -I – 互动模式;每次删除前的确认
  • RM * / RM ?– 批次删除的通配符;运行前用 LS 确认

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2215.html

Like (0)
Previous 2026年3月30日 上午10:03
Next 2026年3月30日 上午11:45

相关推荐

  • 低成本抵御DDoS攻击,高防IP成中小企业防护首选

    DDoS攻击是目前互联网中最常见的网络攻击方式之一。 通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,导致服务器崩溃,真正的用户也无法正常访问。 再加上由各僵尸网络驱…

    2026年5月27日
    0
  • 如何在 Ubuntu 22.04 和 24.04 上安装 Git

    Git 可在 Ubuntu 默认的 22.04 LTS 和 24.04 版本中直接安装,因此安装过程非常快捷。较为复杂的部分是配置 GitHub 或 GitLab 的 SSH 密钥…

    2026年3月27日
    0
  • 常见的虚拟主机是什么?

    虚拟主机(Virtual Host)属于一类在单台物理主机或者主机集群之上,达成多域名并行服务的技术方案,能够同时承载多个站点或业务。各虚拟主机实例彼此完全隔离,并且支持用户自主运…

    2026年6月17日
    0
  • 什么是僵尸网络?

    僵尸网络,作为一类极具破坏性的网络攻击手段,是指攻击者借助多台联网设备,在每台设备上植入并运行特定的机器人程序,进而操控这些被感染的设备,对服务器、公司网站、其他设备或个人发起攻击…

    2026年4月28日
    0
  • 堡垒机与跳板机是什么意思?

    在规模较大的企业中担任过运维岗位的同行应该都有体会,企业内部运维管理混乱是极为普遍的状况。人员规模一旦扩大,就会产生多人共用同一个账号,或者一个人操作多个账号的情形,日积月累必然会…

    2026年5月29日
    0
  • 什么是服务器性能监控?

    服务器性能监控,简单来说就是对服务器的各类系统资源进行实时观测,包括CPU使用率、内存占用、存储容量、I/O性能以及网络运行状态等。 做好这项工作,能帮我们及时发现服务器的各种异常…

    2026年4月23日
    0
  • 什么是会话固定攻击(Session Fixation)?

    你知道吗?登录网站时,网站是怎么记住你身份的?答案就是会话(Session)。 可以把 Session 想象成住酒店拿到的房卡。拿着这张卡,酒店就知道你是哪个房间的客人,能进出房间…

    2026年5月18日
    0
  • 什么是BGP高防服务器?

    众所周知,BGP高防属于抵御DDoS流量攻击的首选防御方案之一,那么BGP高防究竟指的是什么?它又具备哪些方面的优势呢? 什么是BGP高防? BGP全称为Border Gatewa…

    2026年7月29日
    0
  • 高防IP的防护逻辑介绍

    当下的网络环境错综复杂,互联网行业时常遭受来自黑客乃至同行的恶意攻击,其中最为常见的攻击手法便是DDoS攻击,而应对DDoS攻击最普遍采用的防御方式,则是接入高防IP服务。那么究竟…

    2026年7月28日
    0
  • 一文读懂 WebP 图像格式是什么?

    许多网站开始采用一种名为 WebP 的新图像格式。它究竟是什么,又为何比其他格式更有优势? WebP 是谷歌收购 On2 Technologies 后开发的图像格式,基于 VP8 …

    2026年4月11日
    0