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

相关推荐