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

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

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

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

Nota: El uso sudono es necesario 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.

Respuestas (6)

mdfindparece ignorar una gran cantidad de archivos ocultos. mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'enumera .DS_Storelos archivos, pero no por ejemplo .bash_history. No he encontrado ninguna forma 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, cuando están disponibles. Esto le permite buscar propiedades de archivo como nombre, fechas, tamaño, etc., pero no el contenido del archivo (utilice Spotlight o EasyFind para eso).
  • Find Any File puede encontrar archivos que Spotlight no encuentra, por ejemplo, aquellos dentro de paquetes y carpetas internas que normalmente se excluyen 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. ¡Pruébelo usted mismo!

Suponiendo que por "archivo oculto" se refiere a 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 revisa todos los nombres de archivo en todas partes de su sistema.

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

Explicación:

  • -type d -exec find {} \; -prunese ejecuta finden todos los directorios (cuyo nombre coincidía con .*), y omite descender a ese directorio debido al -prune.
  • -type d … -o -print.*hace que se impriman todos los que no sean directorios que coincidan .

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

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

El */.*patrón en toda la ruta obliga a que las coincidencias estén en un directorio oculto.

Es posible que desee agregar -xdevdespués de /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.

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

Es una molestia que Spotlight no detecte archivos / (puntos) ocultos, porque mdfind es muy superior a slocate.
En las versiones recientes de macOS, esta ya no es una solución real: el comando locate.updatedb se ejecuta con el usuario Nobody , que no tiene permiso para ver archivos en los directorios de inicio del usuario, que la mayoría de la gente probablemente quiera.

EasyFind es una excelente aplicación alternativa para hacer el trabajo. Es gratis y fácil. Puede buscar texto en archivos (incluso en 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.

ag puede buscar archivos ocultos por nombre de archivo.

Por ejemplo:

ag --hidden -g ".swiftlint.yml" ~/

Cómo instalar

brew install the_silver_searcher

https://github.com/ggreer/the_silver_searcher

rg es más rápido que ag.

rg --files --hidden ~/ |rg  ".swiftlint.yml"

Cómo instalar

brew install ripgrep

https://github.com/BurntSushi/ripgrep

¿Cómo ayuda esto en la situación descrita por el OP (que aparentemente no sabe el nombre de los archivos ocultos)?
Funciona también. Por ejemplo, rg --files --hidden ~/ |rg ".swiftlint*"

Si desea buscar archivos ocultos .DS_Store , este comando funciona bien.

du -a | grep .DS_Store