仅查找匹配搜索的顶级目录

Sla*_*rix 3 linux bash command-line-interface find

我正在尝试查找所有 777 的 Web 文件夹。但我只想要顶级文件夹的列表。

因此,如果有一个 img 目录,其中的文件夹也是 777,我不希望它们返回。

基本上,我正在寻找一种在找到 777 的文件夹后找到停止下降的方法。

find /var/www/vhosts/ -type d -perm 777
Run Code Online (Sandbox Code Playgroud)

给我

/var/www/vhosts/example.com/httpdocs/img
/var/www/vhosts/example.com/httpdocs/img/gbl
/var/www/vhosts/example.com/httpdocs/img/ss
Run Code Online (Sandbox Code Playgroud)

我想要的只是第一个

/var/www/vhosts/example.com/httpdocs/img
Run Code Online (Sandbox Code Playgroud)

Chr*_*rel 6

使用 -prune 标志。

find /var/wwwhosts/ -type -d -perm 777 -prune 应该准确显示您想要的内容。

编辑:这就是这对我所做的,我相信这就是你想要的?

# ls -l
drwxrwxrwx 4 根根 4096 二月 25 日 14:21 c

# ls -lc
drwxr-xr-x 2 根 4096 二月 25 日 14:21 1
drwxrwxrwx 2 根 4096 二月 25 14:21 2

# 找 。-烫发 777 -修剪
。/C

# 找 。-perm 777 -prune -exec ls -ld {} \;
drwxrwxrwx 4 根 4096 二月 25 日 14:21 ./c

  • 真的吗?您运行的是哪个 OS/Bash 版本?这对我来说非常有效。修剪所做的就是防止进一步递归到目录中。它仍然打印输出。 (2认同)