问题描述
我如何删除以下目录?
我输入了:
rmdir lampp
出现此错误:
rmdir: failed to remove `lampp': Directory not empty
是否有命令删除目录中的所有文件并删除目录文件夹?
最佳解决方案
使用下面的命令:
rm -rf lampp
它删除lampp
目录中包含的所有文件和文件夹。
如果用户没有权限删除该文件夹:
在命令开始处添加sudo
:
sudo rm -rf folderName
否则,如果没有sudo
,则会返回权限被拒绝。在删除目录时尽量不要使用-f
是个好习惯:
sudo rm -r folderName
注意:假设您已经在终端中想要删除的文件夹的相同级别,如果没有:
sudo rm -r /path/to/folderName
仅供参考:您可以使用字母-f
,-r
,-v
:
-
-f
=忽略non-existent文件,从不提示 -
-r
=递归删除目录及其内容 -
-v
=解释正在做什么
次佳解决方案
rm -R lampp
但是,您需要谨慎使用像这样的递归命令,因为很容易意外删除比您想要的更多的东西。
始终double-check您所在的目录以及是否在按Enter之前正确键入命令是一个好主意。
更安全的版本
rm -R -i lampp
添加-i
使其更安全一些,因为它会在每次删除时提示您。但是,如果你删除了很多文件,这不会很实际。不过,你可以先尝试一下。
关于-f
选项的说明:
许多人建议使用-f
(将其合并到-Rf
或-rf
中),声称它摆脱了烦人的提示。但是,在正常情况下,您不需要它,并且使用它可以抑制您可能想知道的一些问题。当你使用它的时候,如果你的参数提供了一个non-existing目录或者文件,你将不会被警告:rm只会默默无法删除任何东西。作为一般规则,首先不要使用-f
:如果您的论点有问题,那么您会注意到。如果您开始针对无法写入权限的文件发出太多提示,则可以使用-f
进行尝试。或者,从用户(或使用sudo的超级用户)运行命令,该用户对您正在删除的文件和目录具有完全权限,以便首先防止这些提示。
第三种解决方案
有很多方法可以通过CLI模式删除一个目录。这取决于你对哪种方式感到满意。
rm -rvf /path/to/directory
-
-r
=递归地删除目录及其内容 -
-v
=解释正在做什么 -
-f
=忽略不存在的文件,从不提示
如果您是Linux新手,请使用命令手册页(man rm
)以获得更多选项和更高的准确性。