¿Por qué el comando find no encuentra el directorio cuando se ejecuta desde ~?

9

Hay un directorio debajo /tmpcon el nombre test_copy.

$ ls /tmp/test_copy/
a.sh b.sh  

$ cd /tmp  
/tmp$ find . -name test_copy  
./test_copy

Pero si ejecuto el siguiente findcomando, no devuelve nada.

~/scripts$ find /tmp -name test_copy  
~/scripts$  

¿Por qué no puedo findencontrar el directorio en el último caso?

Jim
fuente
3
¿Cuál es el resultado de ls -ld /tmp?
xhienne
2
@xhienne: ¡Tienes razón! Era un enlace simbólico a otro directorio. ¿Puedes publicarlo como respuesta?
Jim

Respuestas:

15

Si /tmpes un enlace simbólico, findno ingresará al directorio y simplemente se detendrá, sin encontrar nada.

Por otro lado, cualquiera de los siguientes comandos funcionará:

find -H /tmp -name test_copy
find /tmp/ -name test_copy

(el final hace /referencia al enlace simbólico)

xhienne
fuente
1
Es probable que este sea el caso en macOS en particular. En macOS, / tmp es un enlace simbólico a / private / tmp o algo así.
kojiro