在linux中找到已删除用户的主目录

时间:2016-09-21 15:12:54

标签: linux bash

我试图编写一个bash脚本来找到用户早已删除的主目录,除了他们的配置文件(.bashrc,.bash_logout,.profile等等)之外什么都没有留下

我试过了 find . -type d -empty -print

但它只找到具有活动用户的真正空目录。我需要那些没有用户的目录,而且我不关心隐藏文件。我只关心文件夹中是否包含实际的用户文件。

感谢。

1 个答案:

答案 0 :(得分:2)

在这种情况下,

find有一个可能派上用场的选项:-nouser。它与具有(数字)用户ID的文件匹配,该用户ID对应于/etc/passwd中指定的无用户。例如,以下命令将打印/home下不属于当前用户的所有目录:

find /home -mindepth 1 -maxdepth 1 -type d -nouser

编辑:如果您只想打印没有非隐藏文件的目录,可以按如下方式修改上述内容:

find /home -mindepth 1 -maxdepth 1 -type d -nouser -print0 |
    while IFS= read -r -d '' dir; do
        (($(ls "$dir" | wc -l) == 0)) && echo $dir
    done