如何删除Linux中的目录

时间:2020-03-05 15:27:16  来源:igfitidea点击:

其中一个教程中,我们已经解释了如何在Linux中创建目录。

现在让我们检查如何删除Linux中的目录,它是空的或者具有文件的子目录。
尤其是当我们需要在系统上释放一些空间时,尤其是为了保存更多文件或者安装其他包。

有很多方法可以其中删除Linux中的目录。
如果我们使用GUI系统,如GNOME,MATE或者KDE等离子体,则可以使用文件管理器,或者我们可以通过终端进行。

使用GUI系统删除目录将其带到崩溃时,可以从其恢复的Windows中的回收站等效。
但是,在最小系统上的命令行上工作时,方案是不同的,因为删除目录后,它将永久删除并且无法恢复。

本教程将带我们完成各种方式,我们可以其中删除Linux中的目录。

使用rmdir命令删除目录

rmdir命令,short for'remove目录'是一个用于删除空目录的命令行工具。
如果目录为空,则操作将是成功的。
删除目录的语法如下:

$sudo rmdir directory_name

例如,要删除一个名为"mydirectory"的空目录,请运行命令:

$sudo rmdir mydirectory

如果目录不为空,则显示错误,如图所示,将在屏幕上显示:

'rmdir: failed to remove ‘mydirectory’: Directory not empty'

错误是一个清楚的指示,目录包含文件或者文件夹或者两者。

使用rm命令删除目录

删除短路,RM命令用于删除空和非空目录。

RM命令通常用于删除Linux中的文件。
但是,我们可以通过一些可以删除目录的参数。
例如,要递归地删除目录(删除目录与其内容),请使用递归选项-R(-r或者-rocursive),如下所示。

$sudo rm -r mydirectory

如果是写保护的指示,系统会提示我们是否继续删除目录中的文件和整个目录。
为我们节省令人烦恼和不断陷入此类提示的烦恼和不便,请添加"-F""选项以强制删除而不会提示。

$sudo rm -rf mydirectory

此外,我们可以在单个命令中删除多个目录,如下面的命令所示。
该命令删除所有目录及其子目录,而不会提示删除。

$sudo rm -rf mydirectory1 mydirectory2 mydirectory3

要更谨慎地锻炼,我们可以使用"-I"选项,该选项会提示删除目录和子目录。
但是,正如我们之前看到的那样,如果我们有几个子文件夹和文件,这可能是非常烦人的。
要解决这种不便,请使用"-i"标志"促使我们一次。

$sudo rm -rI mydirectory/

当我们为"是"击中"y"时,该命令将删除目录中的所有子文件夹和文件,而不会提示任何进一步。

要删除空目录,请通过以下方式如下所示。

$sudo  rm -d mydirectory

使用find命令

find命令是一个命令行工具,可帮助用户根据特定搜索条件或者表达式搜索文件以及目录。

此外,该命令可用于搜索目录并根据指定的搜索条件删除它们。

例如,要在当前目录中删除名为"MyDirectory"的目录,请运行以下命令。

$sudo find . -type d -name "mydirectory" -exec rm -rf {} +

让我们在命令中分解参数

(。
)表示正在执行搜索操作的目录。
如果要在当前目录中执行搜索,请使用周期标志(。
)

-type d这将设置搜索操作以仅搜索目录。

-Name这指定了目录的名称。

-exec rm -rf这删除了所有目录及其内容。

{} +这将添加在RM命令末尾找到的所有文件。

让我们拍另一个例子:

删除空目录

如果要删除所有空目录,请使用以下命令:

$sudo find. -type d -empty -delete

这在当前工作目录中递归搜索

-Type D这只会将搜索保留对目录

  • 确认这仅将搜索模式限制为空目录

-delete这将删除找到的所有空目录,包括子目录。

如果我们有大量的空目录,则使用shell脚本删除空目录。