rm -rf 大小和块数为 0 的目录

rm -rf 大小和块数为 0 的目录

我的文件系统上有一个无法删除的目录。我努力了

rm -rf 我的目录

但该目录仍然存在。所以我跑了

统计我的_目录

它返回以下内容:

-bash-3.2$ stat My_dir
File: `My_dir'
Size: 0             Blocks: 0          IO Block: 4096   directory
Device: 801h/2049d  Inode: 191961      Links: 4294967278
Access: (0777/drwxrwxrwx)  Uid: (   48/  apache)   Gid: (  100/   users)
Access: 2017-02-25 21:49:02.000000000 +0000
Modify: 2017-02-25 22:19:45.000000000 +0000
Change: 2017-02-26 05:03:46.000000000 +0000

正如您所看到的,该目录有大量链接,因此我认为它可能已损坏。所以我开始运行 fsck,因为我希望它能够直接发现并解决问题,但是,它返回了

-bash-3.2$ /sbin/fsck /dev/sda1
fsck 1.39 (29-May-2006)
Refusing to operate on read-write mounted device /dev/sda1.

然后尝试

卸载/dev/sda1

umount: /my_device: 设备正忙

我想知道我是否可以绕过整个 fsck 业务并以其他方式强制删除?

(顺便说一句,我在这个世界上有点新手)

编辑#1

我已经使用 sudo 来推送命令了。但问题仍然存在。

作为更新。重新启动包含损坏文件夹的驱动器后,问题目录在调用 stat 后似乎返回以下内容:

File: `My_dir'
Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 191961      Links: 1
Access: (0777/drwxrwxrwx)  Uid: (   48/  apache)   Gid: (  100/   users)
Access: 2016-11-04 10:29:27.000000000 +0000
Modify: 2016-11-04 10:30:06.000000000 +0000
Change: 2016-11-04 10:30:06.000000000 +0000

然而,执行后

ls -l |较少的

为了尝试转义任何隐藏字符,问题又回来了

File: `My_dir'
Size: 0             Blocks: 0          IO Block: 4096   directory
Device: 801h/2049d  Inode: 191961      Links: 4294967295
Access: (0777/drwxrwxrwx)  Uid: (   48/  apache)   Gid: (  100/   users)
Access: 2016-11-04 10:29:27.000000000 +0000
Modify: 2017-02-26 10:29:15.000000000 +0000
Change: 2017-02-26 10:30:36.000000000 +0000

请注意时间戳以及它们有何不同...感到困惑吗?

答案1

这可能是比您正在寻找的更基本的答案,但如果您还没有,我建议使用 sudo 或以 root 身份运行它,以确保不存在一些晦涩的、意外的或愚蠢的文件权限问题妨碍了您。祝你好运!

答案2

是的,它看起来像一个损坏的文件系统。使用恢复或实时 Linux 启动您的系统grml.org,然后再次启动fsck。但要注意,如果fsck修复文件系统,可能会清除许多文件。之前将重要文件保存rsync到另一个主机或卷。最好排除损坏的目录!

# mount -o ro /dev/sda1 /mnt
# rsync -av --exclude="*/My_dir/*" /mnt/ /usb-drive/backup/
# umount /mnt
# fsck /dev/sda1

相关内容