每个新的 Linux 用户都会遇到一个问题——如何使用命令行删除 Linux 中的目录? 这个问题之后是诸如非空目录怎么样的问题,或者可以重新获得目录吗?
在 Linux 中删除目录的不同方法
本文将通过示例详细回答任何此类问题。
1.使用rmdir命令删除空目录
顾名思义, rmdir
用于删除 Linux 中的目录,仅当它们为空时。 为了实现这一点,我们运行:
rmdir <DIR_NAME>
这仅在我们出现在要删除的目录的父目录中时才有效。 否则,必须添加目录的相对路径。 在上图中,“remove_folder”存在于主目录中,终端的当前工作目录也是如此。
如果我们尝试使用删除非空目录,终端会抛出错误 rmdir
.
2.删除嵌套的空目录
为了删除彼此内部的多个空目录,我们可以用一个命令将它们全部删除,而不是一个一个地删除它们。 这个任务是通过 '-p'
选项与 rmdir
命令。
rmdir -p <DIR_NAME>/<DIR_NAME>
在上面的代码片段中,我们删除了所有空文件夹,从最里面 (remove_folder_2) 到最外面 (remove_folder)。 这仅在它们中的每一个都为空(没有文件)时发生。
笔记: 知道使用 rmdir 命令删除的目录将被永久删除非常重要。
3. 使用 rm 命令删除目录
rm 命令用于删除 Linux 中的文件和目录。 因此它可以很容易地用于删除非空目录。 为了删除一个空目录 rm
,我们需要添加 '-d'
选择它。
rm -d <DIR_NAME>
4.使用rm命令删除非空目录
删除非空目录 '-r'
必须使用选项。
rm -r <DIR_NAME>
这 '-r'
选项代表递归删除指定目录中的文件和目录。 在上面的代码片段中,ls 命令用于显示要删除的目录的内容。
笔记: 如果我们希望使用 rm 命令删除多个目录,那么我们可以将它们添加到命令中,以空格分隔,例如: 'rm -r <DIR1_NAME> <DIR2_NAME> <DIR3_NAME>'
.
5.强制删除目录
可能会出现某些文件需要删除权限的情况,因此会显示确认删除文件的提示。 它可以很容易地绕过使用 '-f'
选项。
rm -rf <DIR_NAME>
步骤说明如下:
- 使用 mkdir 命令创建目录。
- 使用 touch 命令在目录中创建一个空文件。
- 使用 chmod 命令从空文件中删除写权限。
- 使用检查文件的权限
ls
命令。 - 尝试使用标准删除程序删除目录,但会显示提示。
- 使用强制删除目录
'-f'
选项。
笔记: 如同 rmdir
, 删除的目录和文件 rm
被永久删除。
6. 交互式删除目录
有时我们不确定目录的确切内容,因此我们可以在删除目录的任何项目之前得到提示。 这可以通过使用来实现 '-i'
选项与 rm
命令。
rm -ri <DIR_NAME>
在上图中,我们首先创建一个包含三个文件的文件夹。 然后我们对新创建的目录进行交互式删除。 从图中可以清楚地看出,该命令在每个删除步骤期间不断要求确认。 紧迫 'y'
在问题执行语句之后,同时按下 'n'
拒绝移除。
如果有大量文件和目录,则使用 '-I'
选项将提示数量减少到仅重大事件。
rm -rI <DIR_NAME>
7. 使用表达式删除多个文件夹
使用通配符, '*'
和 '?'
, 这 rm
命令可以匹配目录并一一删除。 这 '*'
符号匹配任意数量的字符,而 '?'
符号只匹配一个字符。
上面的命令 'rm -r folder?'
匹配所有三个目录并删除它们。
上面的命令 'rm -ri folder*'
匹配所有以“文件夹”开头的目录。
结论
如果有许多嵌套目录,使用图形用户界面删除目录可能会很乏味。 这 rm
和 rmdir
命令是每个 Linux 用户的必需品。 如有任何疑问或反馈,请随时在下面发表评论。