Linux提供了不同的命令来删除目录和文件。但在某些情况下,这可能不会像预期的那样起作用,我们可以得到如下消息 rmdir: 'dir' Directory no empty
这意味着当我们试图删除一个目录时 rmdir
命令未完成。在本教程中,我们将学习如何删除空目录或完整目录。
使用rm-Rf命令删除
删除目录及其内容最常用的命令是 rm
命令。但是 rm
没有选项,命令是不够的 -Rf
. 这将强制以递归方式删除给定的目录。在本例中,我们将删除名为 backup
$ rm -Rf backup
用详细信息删除
默认情况下,删除包含子目录的目录不会提供详细信息。但是我们可以使用verbose选项打印有关操作的详细信息 -v
就像下面一样。
$ rm -Rf -v backup

删除/删除目录前确认
如果我们要删除那些包含一些敏感的目录,我们可能需要在删除它们之前确认。我们可以用 -i
要求移除以确认的选项。在本例中,我们将删除名为 poftut1
不是空的。对于poftut1中的每个目录和文件,将要求使用remove目录文件或目录名。为了批准,我们可以进入 y
或 yes
为了否认,我们可以使用空答案,这只是输入或输入 n
或 no
.
$ rm -r -i poftut1

一次删除多个目录
我们可能希望用一个 rm
命令。我们不必跑 rm
对不同的目录名执行多次命令。我们可以提供所有目录,我们想删除在一个单一的 rm
命令。我们还可以提供目录的路径,如 /mnt/test
等。
$ rm -rf -v Templates poftut1/Case poftut1/Database /home/ismail/SocialFish/

以Root权限删除
为了删除文件或目录,我们需要特权。如果目录归根用户所有,而我们不是,则不能删除该目录。所以我们需要获得root权限 sudo
命令如下。
$ sudo rm -Rf backup
用Python删除
我们还可以使用一些python脚本或命令来删除一个目录,请看下面的例子,我们将在哪里使用它 os
模块 remove()
功能。
相关文章: 如何处理像Open、Remove这样的虚线文件名?
import os os.remove("/home/ismail/trash")
使用find命令删除/删除目录
find
命令是用于在指定路径中搜索和查找不同类型的文件和目录的命令。Find命令提供不同的有用功能,如正则表达式搜索、扩展名搜索或文件属性搜索等。我们还可以使用Find命令来删除或删除指定的目录。我们将使用 -exec
find命令的一个功能,它将为匹配的文件和文件夹运行给定的命令。我们将目录类型与 -type d
选项,并提供带有 -name '*cache'
.
$ find /var -type d -name '*cache*' -exec rm -r {} +
我们也可以使用 -delete
find命令的选项,它将自动删除匹配的文件和文件夹。在下面的示例中,我们将直接删除
$ find /home/ismail -type d -delete
使用文件管理器删除目录
Linux和Linux桌面环境提供了不同的文件管理器,用于添加、删除、更改文件和目录等不同的操作。我们也可以使用文件管理器来删除目录。我们只需右键单击要删除的文件夹或目录,然后找到如下项目 Move to Trash
, Delete
, Remove
, Send to Trash
等等,然后单击。
![图片[4]-如何在Linux中删除目录?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/07/poftut_image-77.png)