如何使用一个Linux命令删除多个子目录

时间:2020-01-09 10:45:05  来源:igfitidea点击:

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

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

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

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

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

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

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

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

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

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

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

相关文章8条你永远不要在Linux上运行的致命命令

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