a/
find .
medios, "encontrar (comenzando en el directorio actual)." Si desea buscar en todo el sistema, use find /
; el que buscar en /System/Library
, utilice find /System/Library
, etc.
b/
Es más seguro utilizar comillas simples alrededor de comodines. Si no hay archivos nombrados *.JDK en el directorio de trabajo cuando se ejecuta esto, entonces find
obtendrá una línea de comandos de:
find . -name *.jdk
Sin embargo, si le sucede que tiene archivos junk.jdk
y foo.jdk
en el directorio actualcuando se ejecuta, find
en su lugar se inició con:
find . -name junk.jdk foo.jdk
... que (ya que hay dos) se confunden, y hacer que fuera error. Si a continuación, eliminar foo.jdk
y hace exactamente lo mismo otra vez, tendría
find . -name junk.jdk
... que nunca se encontrará un archivo llamado (por ejemplo) 1.6.0.jdk
.
Lo que es probable que desee en este contexto, es
find /System -name '*.jdk'
... o, puede "escapar" del *
como:
find /System -name \*.jdk
@Prostak, esto solo mostrará archivos regulares, no directorios. '-type f' es filtrar enlaces simbólicos, directorios, dispositivos, y tal. – BRFennPocock
Estoy marcando esta como respuesta correcta. ¡Pero gracias a los dos por su ayuda! – Prostak