适合初学者的 Linux rmdir 命令示例
作为 Linux 用户,我们定期与文件和文件夹进行交互。用户经常执行的一项任务是从文件系统中删除文件夹。但是,删除数据库时我们需要格外小心。因为不小心删除可能会导致数据丢失。
在这篇适合初学者的文章中,我们将了解 rmdir 命令。我们还将考虑一些可以在日常生活中使用的实际例子。
rmdir 命令与其他 Linux 命令具有相同的语法。在高层次上,它分为两个部分——选项和辩论:
$ rmdir [选项] ... <目录1> <目录2> ...
这里方括号代表([])可选参数,而方括号(<>)代表强制参数。
Linux 中 rmdir 命令的一般使用
顾名思义,rmdir 命令用于删除目录。但是,需要注意的是,它只能删除空数据库。在本节中,我们将看到 rmdir 命令的主要用法。
首先,创建几个空白文件夹:
$ mkdir dir1 dir2 dir3 dir4
让我们检查是否创建了必要的文件夹:
$ ls -l
现在,让我们卸载dir1文件夹,看看它是否被卸载:
$ rmdir dir1
$ ls -l
同样,我们可以使用 rmdir 命令一次性删除多个空目录。
让我们删除其余的文件夹:
$ rmdir dir2 dir3 dir4
最后,检查所有文件夹是否已被删除:
$ ls -l
这里我们可以看到ls命令没有指定任何目录。
在上一节中,我们使用 ls 命令来确认删除文件夹。然而,仅仅为了验证之前代码的功能而再创建一个代码是没有意义的。
在这种情况下,我们可以使用 select 启用详细模式-v,它为每个处理的目录提供诊断。
让我们创建与之前创建的相同的目录结构:
$ mkdir dir1 dir2 dir3 dir4
现在,让我们删除启用了详细模式的目录:
$ rmdir -v dir1 dir2 dir3 dir4
$ ls -l
从上述披露中,我们可以得出结论,所有文件夹均已被删除。
我们通常在文件系统上创建子目录,这使我们能够以正确的顺序组织数据。让我们看看如何使用空子目录。
正如第一个示例中所讨论的,我们可以使用 rmdir 命令删除多个目录。然而,当小站点数量较多时,情况就会变得棘手。
在这些情况下,我们可以使用-pselect,它会删除库和所有祖先。让我们通过一个例子来理解这一点。
首先,创建一个子目录层次结构:
$ mkdir -p dir1/dir2/dir3/dir4/dir5
在本例中,我们使用-poption 和 mkdir 命令创建子目录结构。
让我们同时关闭所有这些网站:
$ rmdir -p -v dir1/dir2/dir3/dir4/dir5
rmdir:删除目录,'dir1/dir2/dir3/dir4/dir5'
rmdir:删除目录“dir1/dir2/dir3/dir4”
rmdir:删除目录“dir1/dir2/dir3”
rmdir:删除目录“dir1/dir2”
rmdir:删除目录“dir1”
此时,详细模式会删除所有 dir5 目录及其祖先目录。
我们已经知道 rmdir 只能删除空目录。任何删除非空数据库的尝试都会导致错误。虽然这可以防止数据丢失,但在极少数情况下可能会导致问题。
例如,如果我们尝试从 Jenkins 正在运行的脚本中删除非空文件夹,则作业将报告失败。
为了练习这一点,让我们尝试删除一个非空文件夹:
$ mkdir -p dir1/dir2/dir3/dir4/dir5
$ rmdir dir1
rmdir:无法删除“dir1”:目录不为空
对于此类错误,我们可以使用--ignore-fail-on-non-empty该选项,该选项会忽略由于非空文件夹而发生的所有故障。
让我们在命令中使用此选项并检查返回值:
$ rmdir --ignore-fail-on-non-empty dir1
$回声$?
0
在此示例中,我们可以看到该命令没有报告任何错误,并且返回值为零表示该命令成功执行。但需要注意的是,此选项仅抑制错误,并不会删除非空文件夹。
与其他 Linux 命令一样,我们可以将正则表达式与 rmdir 命令一起使用。我们看看下面两个正则表达式是如何使用的:
的
?– 它与一个字母完全匹配。
*– 匹配零次或多次出现的先前字符。
的
首先,创建几个空白文件夹:
$ mkdir dir1 dir2 dir-01 dir-02
现在,让我们使用?正则表达式和字符串 'dir' 来提取 dir1 和 dir2 目录:
$ rmdir -v 目录?
rmdir:删除目录“dir1”
rmdir:删除目录“dir2”
在这里我们可以看到该命令删除了相关文件夹。
接下来,使用*正则表达式删除其他两个文件夹:
$ rmdir -v 目录 -*
rmdir:删除目录“dir-01”
rmdir:删除目录“dir-02”
在此示例中,我们可以看到其他两个文件夹已被删除。
在本节中,我们仅讨论两个正则表达式的使用。但是,我们还可以将其他标准的标准表达式与 rmdir 命令一起使用。
在这篇文章中,我们首先了解一下rmdir命令的基本用法。然后我们讨论了详细模式和删除子目录。接下来我们看看当文件夹不为空时如何处理失败。最后,我们讨论了如何使用正则表达式。
还没有评论,来说两句吧...