¿Cómo busco todos los archivos ocultos que están en carpetas ocultas usando Terminal?


10

Necesito encontrar algunas configuraciones ocultas en algunas carpetas ocultas y no puedo recordar dónde deben navegar directamente a ellas Cmd+ Shift+ G.

Hice un sudo find -name Foo*(lento), pero ninguno de los archivos devueltos estaban en carpetas ocultas.

¿Cuál es la forma más fácil de buscar todos los archivos ocultos?


Nota: El uso sudoes innecesario a menos que necesite buscar en directorios a los que no tiene acceso. La búsqueda en directorios ocultos no requiere privilegios elevados, si es por eso que se usa en su ejemplo.
Chris Page

Respuestas:


14

mdfindParece ignorar muchos archivos ocultos. mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'enumera .DS_Storearchivos, pero no por ejemplo .bash_history. No he encontrado ninguna manera de buscar archivos en algunos directorios ocultos como /private/etc/.

De todos modos, Find Any File es mucho más rápido que find.

Find Any File es un programa para Mac OS X que le permite buscar archivos en sus discos.

  • A diferencia de Spotlight, no utiliza una base de datos, sino que utiliza las operaciones de búsqueda rápida del controlador del sistema de archivos, donde estén disponibles. Esto le permite buscar propiedades de archivo como nombre, fechas, tamaño, etc., pero no el contenido del archivo (use Spotlight o EasyFind para eso).
  • Find Any File puede encontrar archivos que Spotlight no encuentra, por ejemplo, aquellos dentro de paquetes y paquetes y dentro de carpetas que generalmente están excluidos de la búsqueda de Spotlight.
  • Finalmente, es bastante rápido. Una búsqueda solo toma unos segundos en un disco duro interno o SSD. Prueba por ti mismo!

6

Suponiendo que por "archivo oculto" se refiere a los archivos cuyo nombre comienza con un punto o que se encuentran en algún lugar debajo de un directorio cuyo nombre comienza con un punto, y no otras formas de archivos invisibles , el siguiente comando imprime los nombres de todos los archivos ocultos. Es lento ya que pasa por todos los nombres de archivo en todas partes en su sistema.

sudo find / -name '.*' \( -type d -exec find {} \; -prune -o -print \)

Explicación:

  • -type d -exec find {} \; -prunese ejecuta finden cada directorio (cuyo nombre coincide .*) y omite descender a ese directorio debido a -prune.
  • -type d … -o -printhace que .*se impriman todos los no directorios que coinciden .

Si está buscando un archivo con un nombre o patrón específico:

sudo find / -name 'Foo*' -path '*/.*'

El */.*patrón en todo el camino obliga a las coincidencias a estar bajo un directorio oculto.

Es posible que desee agregar -xdevdespués /para evitar atravesar sistemas de archivos especiales y discos extraíbles.


Ah gracias. Y parece que ahora se prefiere -x, ya que -xdev está en desuso.
Old McStopher

4

Prueba el locatecomando. sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistPrimero tendrá que esperar a que se genere la base de datos de localización.


3
Es una molestia tal que Spotlight no capta archivos ocultos / (puntos), porque mdfind es muy superior a la pendiente.
Jason Salaz

2

EasyFind es una excelente aplicación alternativa para hacer el trabajo. Es gratis y fácil. Puede buscar texto en archivos (incluso los invisibles). <= Esta puede ser una forma más fácil de encontrar sus archivos de configuración.

Puede obtenerlo en la App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

Descargo de responsabilidad: no estoy afiliado con el desarrollador.


No funciona en unidades con formato APFS.
Victor Engel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.