首页 > 解决方案 > macOS - 如何在 /Volumes 中找到“僵尸”文件夹(不是挂载)

问题描述

我正在寻找一种方法来定位偶尔出现在 macOS 中 /Volumes 中的陈旧“僵尸”文件夹。这些陈旧的文件夹是安装问题/打嗝的结果,并且会不时出现在 /Volumes 中。它们会导致与现有 SMB 卷的冲突(导致我们以前都可能见过的“mount-1”、“mount-2”、“mount-3”挂载名称)。

显然我可以使用一些像

find /Volumes -mindepth 1 -maxdepth 1 -type d -print

但这将产生所有目录 - 包括 SMB 挂载等。我专门寻找的只是空文件夹 - 而不是实时挂载。

谢谢

标签: macos

解决方案


您可以通过检查stat -f %d/Volumes 下各种项目的设备编号 ( ) 来执行此操作,查找与 /Volumes 文件夹本身在同一设备上的那些。还有一个只是返回的链接/,所以你也想跳过那个。

topDev=$(stat -f '%d' /Volumes)
for dir in /Volumes/*; do 
    if [ "$topDev" = "$(stat -f '%d' "$dir")" ] && [ ! "$dir" -ef / ]; then
        echo "Possible zombie folder:"
        ls -ld "$dir"
    fi
done

推荐阅读