如何在Linux中删除一个目录 - 删除一个文件夹命令

413 阅读4分钟

如果你使用的是用户界面,你可以右击一个目录并选择 "删除 "或 "移至垃圾箱"。但你如何在终端上这样做呢?我将在这篇文章中解释。

如何在Linux中删除一个目录

在Linux中,有两种方法来删除目录:rmrmdir命令。

这两个命令的大意是,rm删除的是可能包含文件和子目录等内容的目录,而rmdir只删除空目录。

另外,这两个命令都是永久性地删除目录(而不是把它们移到垃圾桶里),所以在使用它们时要小心。

让我们更详细地了解一下这两个命令。

如何使用Linux的rm 命令

你在Linux中使用rm 命令来删除文件和目录。对于目录来说,这个命令可以用来完全删除一个目录--也就是说,它可以删除一个目录以及该目录中的所有文件和子目录。

下面是这个命令的语法。

rm [options] [files and/or directories]

要删除一个文件,比如说test.txt ,你可以使用这个命令,而不用像这样的选项。

rm test.txt

对于目录,你必须提供一些标志选项。

如何删除一个有内容的文件夹

对于一个有内容的目录,你必须提供-r 标志。如果不使用这个标志,像这样。

rm test

你会得到这样的错误:rm: test: 是一个目录

-r 标志通知rm 命令递归地删除一个目录的内容(无论是文件还是子目录)。因此,你可以像这样删除一个目录。

rm -r test

如何删除一个空文件夹

对于一个空文件夹,你仍然可以提供-r 标志,但专用的-d 标志适用于这种情况。没有这个标志,你会得到同样的错误rm。[文件夹]: 是一个目录

要删除一个空目录,你可以使用这个命令。

rm -d test

建议对空目录的情况使用-d 标志,而不是-r 标志,因为-d 标志可以确保一个目录是空的。

如果它不是空的,你会得到错误rm: test:目录不是空的。因此,为了确保你正在执行正确的空目录操作,使用-d 标志。

如何使用Linux的rmdir 命令

rmdir 命令是专门用来删除空目录的。其语法是:。

rmdir [folders]

它相当于带有-d 标志的rm 命令:rm -d

当你在一个非空目录上使用rmdir ,你会得到这个错误:rmdir: [folder]:目录不是空的

要删除一个空的目录,请使用这个命令,不要使用选项。

rmdir test

rmdir 命令也有-p 标志,它允许你将一个目录和它在树上的父目录一起删除。例如,如果你有这样的文件结构。

> Test
---> Test22

在这种情况下,Test是一个目录,它有Test2子目录。如果你删除Test2目录,Test就成为一个空目录。所以,与其这样做。

rmdir Test/Test2 Test
# deleting Test2 and then Test

你可以像这样使用-p 标志。

rmdir -p Test/Test2

这个命令将删除Test2,并在之后删除Test,即树中的父目录。但如果其中一个目录不是空的,这个命令就会出现错误。

如何在Linux中删除符合模式的目录

你也可以使用rmrmdir的glob模式。glob模式类似于Regex,但前者是用于在终端中匹配文件名。

例如,如果你想删除目录test1test2test3,而不是运行。

rm -r test1 test2 test3

# or if they are empty

rmdir test1 test2 test3

你可以使用像这样的通配符glob模式。

rm -r test*

# or if they are empty

rmdir test*

星号*匹配 "test "一词之后的任何混合字符。你也可以应用其他glob模式。在globing文档中了解更多信息

总结

现在你知道了如何在Linux中从命令行中删除目录。你了解了rmrmdir 命令以及何时使用这两个命令。

编码愉快!


Dillion Megida

Dillion Megida

我是开发者倡导者和内容创造者,热衷于分享我的技术知识。我教授JavaScript/ReactJS/NodeJS/React Frameworks/TypeScript/等。


如果你读到这里,请发推特给作者,向他们表示你的关心。鸣谢

FreeCodeCamp的开源课程已经帮助超过40,000人获得了开发者的工作。开始吧