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

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

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

但是,通过将三个rm命令合并为一个命令,我们可以使此过程更短。这是怎么做的。

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

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

括号中的单词是“花括号扩展列表”的一部分。支撑展开列表中的每一项都单独追加到前面的路径(~/Documents/HTG/)。例如,上面的命令展开到~/document/htg/do、~/document/htg/deas和~/document/htg/note,这是我们想要删除的HTG目录下的三个子目录。正如您在下面的屏幕截图中看到的,这三个子目录已被删除。

使用rm命令删除目录而不是文件时,需要使用-r标志。如果在上面的命令中没有使用-r标志,您将收到一个错误,指出无法删除目录。

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

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

如果发现任意子目录不为空,则会显示一条错误消息,指出删除失败,并且未删除相关的子目录及其子目录。但是,任何空子目录都将被删除。

使用rm命令时要非常小心。如果使用不当,可能会删除硬盘上的所有文件。

相关:8个绝对不应该在Linux上运行的致命命令

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

相关文章