为什么我收到“错误:目录 jot 为空”,但实际上目录包含 1TB 的数据

为什么我收到“错误:目录 jot 为空”,但实际上目录包含 1TB 的数据

我的外部驱动器中有一个目录包含 1TB 的数据,当意外拔出时,该目录在打开时和属性中显示为空...

当我去删除目录时,显示“错误:目录不为空”

如何解决这个问题?

答案1

当驱动器连接时,您可能能够检索有关驱动器的大量信息,希望这能给您一些启发。我将列出一些基于命令行的工具。

第一个想法

rm /direcotry/path -rf

...应该可以解决您使用这个目录时遇到的问题:它应该可以彻底删除它。如果需要,您可以在上述命令前加上 sudo;而且您必须非常小心,因为您将删除几乎所有您要求删除的内容。此外,请-rf在末尾键入,这样如果您Enter意外地过早按下,您就不会“强制”和“递归”地覆盖您不想要的内容。

但是,如果您想进行更多尝试,下面还有更多内容供您选择:

1)有关所有磁盘设备的信息

sudo fdisk -l

...将列出设备名称、大小和分区(以及更多)。在最后一列中,您将获得分区类型。

我认为 fat32 不是大磁盘的最佳选择,但它在任何地方都相当标准。您可以使用 ntfs - 如今 Ubuntu 也在一定程度上支持它。

2)有关已安装设备的信息

sudo df -h
sudo df -hi

...将打印有关已安装文件系统的信息以及包含它的设备的名称。您有字节(默认)使用,你有索引节点(由 -i 参数指定)与磁盘上的文件数相关(不仅大小很重要,而且文件分配表中的条目数也很重要)。“h”代表人类可读的单位。

cd /directory/path
du -hs

...会让你知道摘要的内容/direcotry/path。“s”代表摘要而不是完整列表,“h”代表人类可读的单位。

du -ms *   | sort -n
du -ms */* | sort -n

...这是所有基于控制台的磁盘可用空间检查的主角。我最喜欢的。我喜欢它向我显示当前路径中最大的项目。通过使用asterisk/asterisk而不是,asterisk您将比较当前位置中的所有子项目。

ls -lah

...也用于查看目录。“h”如上,“a” 包括隐藏文件/目录,“l”显示访问权限和所有权信息。特别是“a”标志可能对您有用。

3) 还是没有结果?格式化驱动器

将您宝贵的数据复制到其他地方并重新格式化驱动器。毕竟,系统可能因断电而遭受一些损坏。

sudo unmount /dev/name0    # carefully select the device

谨慎选择设备。如果您在某个时候输入错误,您可能会丢失所有数据和操作系统,并且您的机器将停止工作。

sudo fsck /dev/name0

...有可能修复必须卸载的磁盘。 fsck 完成后,您可以重新安装驱动器mount /dev/name0 /any/path/you/want并进行验证,但有时您必须更换文件系统内部组件 - 继续阅读。

sudo mkfs.ntfs /dev/name0

...它会覆盖磁盘上已有的文件系统。这也可以mkfs.vfat用于 fat32 或(我更喜欢的)mkfs.ext3

相关内容