如果你使用的是用户界面,你可以右击一个目录并选择 "删除 "或 "移至垃圾箱"。但你如何在终端上这样做呢?我将在这篇文章中解释。
如何在Linux中删除一个目录
在Linux中,有两种方法来删除目录:rm和rmdir命令。
这两个命令的大意是,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中删除符合模式的目录
你也可以使用rm和rmdir的glob模式。glob模式类似于Regex,但前者是用于在终端中匹配文件名。
例如,如果你想删除目录test1、test2和test3,而不是运行。
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中从命令行中删除目录。你了解了rm 和rmdir 命令以及何时使用这两个命令。
编码愉快!

我是开发者倡导者和内容创造者,热衷于分享我的技术知识。我教授JavaScript/ReactJS/NodeJS/React Frameworks/TypeScript/等。
如果你读到这里,请发推特给作者,向他们表示你的关心。鸣谢
FreeCodeCamp的开源课程已经帮助超过40,000人获得了开发者的工作。开始吧