cómo navegar directorios con montones de archivos

1

Mi sistema de archivos Linux tiene decenas de miles de archivos por directorio. La visualización de una lista de todos los archivos toma unos minutos para que mi sistema los calcule, lo cual es demasiado lento. Pero no estoy seguro de qué archivos hay en cada directorio, así que quiero ver una lista de los primeros, como qué cabeza comando hace para archivos grandes. ¿Hay un comando que hace esto de manera eficiente?

Editar: Tubería ls para otra cosa no es bueno porque ls Tarda unos minutos en completarse, antes de canalizar la salida. Necesito un comando que solo devuelva los primeros registros.

hoju
fuente
¿Por qué tantos archivos en un directorio?
mouviciel
¿Importa? De todos modos, se descarga contenido web.
hoju

Respuestas:

3

Tratar ls -f el cual no se ordena

PP.
fuente
Wow, eso es mucho más rápido, y haciendo ls -f | sort | less ¡Es mucho más rápido también! Locura.
BeepDog
0

Para cada uno de los directorios puede hacer lo siguiente mediante un script de shell

Prueba esto, esto da una página llena de entradas.

ls | more

Incluso puede enviar esto a algún archivo si lo desea para poder consultarlo más adelante, para eso use este

ls | more > filenames.txt

Gracias

Mahesh Velaga
fuente
+1 a pesar de more utilizado justo antes de una redirección
mouviciel
"menos es más" - si tienes less utilízalo en lugar de more
Dennis Williamson
También hay "la mayoría" (alguien tuvo dificultades para nombrar su programa :)
alfplayer
0

Si quieres enumerar N primeras entradas, Simplemente crearía un pequeño programa en C que haga una llamada de opendir y luego N llame a readdir


fuente
Eso es lo mismo que encabezar la lista de archivos. y la cabeza o ls son programas en C
Preferiría no crear mi propio script porque querría una solución que funcione en algunas máquinas, sin tener que copiar mi script.
hoju
0

Depende del sistema de archivos, pero generalmente es más rápido enumerar solo los nombres de archivo (mirar el objeto del directorio) en comparación con todos los metadatos del archivo (guarda una estadística por archivo).

Has probado ls -R?

De lo contrario, podría pagarle ejecutar el programa de localización de GNU en segundo plano periódicamente y utilizar la base de datos generada para rastrearlo.

Nate
fuente
0

Puedes usar head:

ls -l | head
Dennis Williamson
fuente