GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar todos los archivos dispersos en Linux

Los archivos dispersos son archivos que tienen grandes cantidades de espacio preasignado, sin ocupar la totalidad del espacio del sistema de archivos. Son útiles para reducir la cantidad de tiempo y espacio en disco involucrados en la creación de sistemas de archivos en bucle o imágenes de disco grandes para invitados virtualizados, entre otras cosas. El término "archivo disperso" se utiliza para referirse a uno que contiene "agujeros"; es fácil reconocer uno en un sistema en ejecución porque su uso de disco es menor que su tamaño. Podemos ver este comportamiento con /var/log/lastlog archivo.

# ls -lh /var/log/lastlog
-rw-r--r--. 1 root root 286K Dec  3 04:50 /var/log/lastlog
# du -sh /var/log/lastlog
12K     /var/log/lastlog

Encontrar archivos dispersos

Ahora, el proceso anterior puede identificar los archivos dispersos en el sistema, pero se vuelve engorroso encontrar todos los archivos dispersos en un sistema de archivos o directorio, especialmente cuando son muchos. No se preocupe, hay una opción en el comando de búsqueda que nos ayuda a encontrar todos los archivos dispersos de una sola vez. Veamos un ejemplo a continuación.

1. Use el comando de búsqueda con “%S ” para encontrar la escasez de cada archivo.

# find /var/log -type f -printf "%S\t%p\n"
# find /var/log -type f -printf "%S\t%p\n"
1       /var/log/tallylog
1.00095 /var/log/audit/audit.log.1
0.0419982       /var/log/lastlog
....

2. El valor que se muestra en la columna más a la izquierda es (BLOCK-SIZE*st_blocks / st_size ) que normalmente es menor que 1.0 en caso de un archivo disperso.

3. Si desea encontrar todos los archivos dispersos en el sistema, podemos filtrar todos los archivos con los valores de la columna más a la izquierda inferiores a 1.

# find / -type f -printf "%S\t%p\n" | gawk '$1 < 1.0 {print}'
0.0139994       /var/log/lastlog
0.959592        /usr/lib/locale/locale-archive
...


Linux
  1. ¿Cómo encontrar todos los archivos de más de 1 GB de tamaño en Linux?

  2. ¿Cómo encontrar todos los archivos/carpetas con permiso 777 en Linux?

  3. ¿Cómo encontrar todos los archivos que terminan en .rb con Linux?

  4. ¿Cómo encuentro todos los archivos que contienen texto específico en Linux?

  5. Cómo canalizar los resultados de 'buscar' a mv en Linux

Cómo encontrar archivos en Linux con el comando Buscar

Cómo contar archivos en el directorio en Linux

Cómo encontrar archivos usando la línea de comandos en la terminal de Linux

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Cómo buscar archivos desde la línea de comandos de Linux

Cómo encontrar archivos con el comando fd en Linux