如何删除非空目录?

如何删除非空目录?

我一直试图从我的一个内置硬盘中删除一个目录,系统告诉我“无法删除该目录,因为它不是空目录。”

问题是该目录是空的!

至少,我无法使用 Thunar 文件管理器或具有 root 权限的终端看到其中的任何内容。

我要删除的目录所在的目录有以下输出ls-la

total 28

drwxrwxrwx 1 root root  4096 ene 15 10:01 .

drwxrwxrwx 1 root root 20480 ene 15 10:01 ..

drwxrwxrwx 1 root root  4096 ene 15 10:01 matrimonio de fiesta sara y luis hernan

并且,我想要删除的目录有以下输出:

total 8

drwxrwxrwx 1 root root 4096 ene 15 10:01 .

drwxrwxrwx 1 root root 4096 ene 15 10:01 ..

另一个目录也存在类似的情况,该目录包含 3 个文件,每次我尝试删除它们时,系统都会告诉我:“未找到文件”。

我尝试过,sudo rm -r -f但是...没有结果!

每次使用时,历史记录都一样。这是怎么回事?

是否有其他更强大的命令可以删除目录和/或文件?

答案1

您可以删除空的带有rmdir <directory>和的目录非空目录与rm -r <directory>


造成您麻烦的原因可能是以下几点:
考虑此目录的内容:

$ tree -a
.
├── empty
├── non-empty
│   └── file.txt
└── non-empty-with-hidden-file
    └── .file.txt

我们有一个 epty 目录,一个包含一个文件,另一个包含一个隐藏文件。现在运行rmdir *

$ rmdir *
rmdir: failed to remove `non-empty': Directory not empty
rmdir: failed to remove `non-empty-with-hidden-file': Directory not empty
$ tree -a
.
├── non-empty
│   └── file.txt
└── non-empty-with-hidden-file
    └── .file.txt

如您所见,empty被删除,其他两个导致错误消息。现在您可以运行rm -r

$ rm -r non-empty
$ tree -a
.
└── non-empty-with-hidden-file
    └── .file.txt

您的file not found错误可能不是由 引起的rm,而是由文件名或目录路径的拼写错误引起的。您可以使用自动完成功能 ( Tab) 来避免这种情况,而不必手动输入。

答案2

韦恩的回答是正确的,但如果出现错误,您可以添加'-f'开关rm,“强制”删除:

sudo rm -rf "/path/to/the/directory"

相关内容