¿Cómo enumerar recursivamente todos los archivos y directorios ocultos?


13

Quiero enumerar todos los archivos y directorios ocultos y luego guardar el resultado en el archivo.

¿Hay algún comando para esto?

Respuestas:


13

Si usa GNU find, puede hacer

find /path -path '*/.*' -ls | tee output-file

Editar

Para evitar mostrar elementos no ocultos contenidos en directorios ocultos

find /path -name '.*' >output-file

(como se señaló, teepodría evitarse si no necesita ver el resultado, y la -lsopción solo debe usarse si es necesario).


2
O con en >lugar de | tee, si uno no quiere ver toda la salida en el terminal.
rozcietrzewiacz

Tampoco es necesario -lsen esto, que podría ser información extra desordenada para analizar el pensamiento.
Caleb

Esto también enumera el contenido de los directorios ocultos, que no es lo que pide la pregunta (probablemente, es un poco ambiguo).
Gilles 'SO- deja de ser malvado'

@Gilles: de hecho es ambiguo.
Editó

Tenga en cuenta que el primero no es específico de GNU. -pathPOSIX desde 2008. -lsNo es estándar pero es bastante común.
Stéphane Chazelas

10

Para enumerar los archivos y directorios ocultos en el directorio actual, incluidos .y ..:

echo .*

Para enumerar los archivos y directorios ocultos en el directorio actual y sus subdirectorios de forma recursiva:

find . -name '.*'

Si desea guardar los resultados en un archivo, use una redirección:

find . -name '.*' >output-file.txt

1

Con zsh(usando el calificador global D ):

print -rl ./**/.*(D)

Para incluir archivos no ocultos en directorios ocultos:

setopt extendedglob
print -rl ./**/*~^*/.*(D)

0

En realidad, puede poner el mismo argumento varias veces en la misma línea de comando:

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

El tee -acomando puede mostrar la salida del comando (o stdout ) simultáneamente mientras lo escribe en un archivo. Las -aopciones evitan el clobbering y añaden la información al archivo de salida de destino.

/storage/????-????/Es un camino de ejemplo. Es el camino hacia la tarjeta MicroSD de los teléfonos móviles Android más nuevos (también hay una aplicación de terminal para Android, con menos comandos pero aún muchos y significativamente mayor desde Android 6.0). La tarjeta MicroSD era anteriormente /storage/extSdCard. Ahora, es el número de serie del volumen.

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.