LINUX

Cómo encontrar archivos y directorios grandes en Linux

buscar directorios de archivos principales linuxEncontrar el tamaño de archivos y directorios grandes en servidores Linux es una de las tareas más importantes con las que se encuentra todo administrador de sistemas en sus tareas diarias. Por lo tanto, todo administrador del sistema debe conocer varias formas de averiguar el tamaño de los discos más grandes y los archivos que consumen los discos duros.

A veces, se vuelve más importante cuando el disco de su sistema se llena tan rápidamente y tiene que descubrir qué archivos o directorios están ingiriendo, toda el área de su disco en un Linux. En este caso, deberíamos poder encontrar una ubicación de directorio particular donde se llenan los datos. Como no existe un comando de acceso directo que esté disponible para descubrir los documentos o directorios más grandes en un sistema de archivos Linux o UNIX, existe la posibilidad de usar algunas utilidades de línea de comando que pueden ayudarnos a llegar a la ubicación de origen.

Por lo tanto, este tutorial lo ayudará a usar múltiples comandos que se pueden usar en sistemas tipo Linux o UNIX para encontrar los archivos o directorios más grandes en los sistemas de archivos.

1) Usando el comando de búsqueda

El comando ‘buscar’ es muy útil para buscar archivos en una jerarquía de directorios y para buscar archivos y directorios grandes en su sistema. Ejecutemos el siguiente comando para enumerar todos los archivos que tienen un tamaño superior a 50 MB, puede especificar el número aún mayor.

# find / -xdev -type f -size +50M

Para encontrar resultados más detallados sobre estos archivos grandes, puede extender su comando ‘buscar’ debajo de los parámetros.

# find / -xdev -type f -size +50M -exec ls -alh {} ; | sort -nk 5

encontrar espacio en disco

Utilice el siguiente comando para encontrar los 10 archivos más grandes en un directorio particular de su sistema.

# find /usr -type f -printf "%s %pn" | sort -rn | head -n 10
114973832 /usr/share/fonts/opentype/noto/NotoSansCJK.ttc
83333096 /usr/lib/thunderbird/libxul.so
78809336 /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0
71551944 /usr/lib/firefox/libxul.so
58250232 /usr/lib/libreoffice/program/libmergedlo.so
41729688 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.19.4
41587032 /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
41294304 /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/WebKitPluginProcess2
37857816 /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5.5.1
35945726 /usr/local/bin/consul

2) Usando el comando ls

El ‘ls’ es un comando de shell de Linux que lista el contenido del directorio de archivos y directorios. Puede utilizar este comando de muchas formas para enumerar los archivos y carpetas. Para verificar las listas, los archivos en el directorio actual ordenados por tamaño con un tamaño más grande en la parte superior, ejecute el comando debajo.

# ls -alhS
-rw-------  1 root root  59K Apr 18 20:57 agedu.dat
-rw-------  1 root root  13K Apr 20 18:27 .gt5.html
-rw-r--r--  1 root root  10K Jan 25 03:43 index.html
-rw-------  1 root root 4.1K Apr 22 22:06 .bash_history
drwx------  6 root root 4.0K Apr 18 20:57 .
drwxr-xr-x 24 root root 4.0K Apr 17 10:40 ..
drwx------  2 root root 4.0K Apr 20 17:03 .cache
drwx------  3 root root 4.0K Apr 12 15:38 .gnupg
drwx------  2 root root 4.0K Apr 20 18:27 .gt5-diffs
drwx------  2 root root 4.0K Apr 20 18:29 .w3m
-rw-r--r--  1 root root 3.1K Oct 22  2015 .bashrc
-rw-------  1 root root 1.1K Apr 12 15:43 .viminfo
-rw-r--r--  1 root root  148 Aug 17  2015 .profile

Del mismo modo, puede usar el comando ‘ls’ para agregar con r para mostrar de forma recursiva el tamaño de los archivos en el directorio actual o puede especificar la ruta de ese directorio en el que desea ver el tamaño de los archivos presentes allí.

# ls -lhtr
# ls -lhtr /var/log/

Para obtener una lista de los 10 archivos más grandes de forma recursiva en el directorio actual, use el siguiente comando.

# ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n10
456K initial-status.gz
356K syslog
248K dpkg.log
216K syslog.1
168K kern.log
160K kern.log.1
100K dpkg.log.2.gz
96K partman
92K syslog
84K syslog.6.gz

Para obtener más ayuda para usar el comando ‘ls’, puede usar el siguiente comando.

# ls --help

3) Usando la herramienta gt5

El ‘gt5’ es otra herramienta de línea de comandos impresionante, que se puede usar para verificar el tamaño de archivos y directorios en un sistema Linux. Pero, debe estar instalado en su sistema antes de que pueda comenzar a usarlo. Para instalar ‘gt5’ puede usar el siguiente comando en su sistema Linux.

# apt install gt5

Después de la instalación, puede usar esto para verificar el tamaño de los archivos y directorios de su sistema usando los siguientes comandos.

# gt5
# gt5 /var

gt5 vista html

Puede especificar cualquier directorio extendido por el comando ‘gt5’ para verificar los directorios y archivos de mayor tamaño. Para expandir aún más los directorios, arrastre el cursor del mouse sobre ese directorio y presione enter.

# gt5 /var/log

verificación de tamaño gt5

Cambiemos su directorio a otra ruta y ejecutemos el comando ‘gt5’ para la vista interior de los archivos y directorios superiores.

# cd /usr/src/linux-headers-4.10.0-20-generic/
#gt5

uso de gt5

4) Usando el comando du

El comando ‘du’ abreviado como uso de disco, informa los tamaños de los árboles de directorios, incluido todo su contenido y los tamaños de los archivos individuales. Esto lo hace útil para rastrear acaparadores de espacio, es decir, directorios y archivos que consumen cantidades grandes o excesivas de espacio en una unidad de disco duro u otros medios de almacenamiento.

La sintaxis básica de ‘du’ es la que se muestra a continuación.

# du [options] [directories and/or files]

Para averiguar los archivos y directorios principales en un sistema de archivos Linux / UNIX, no hay ningún comando apropiado de du para obtener el resultado requerido, pero usándolo con otros comandos como los comandos ‘sort’, ‘head’ y ‘find’ como se muestra a continuación . Para obtener la salida en la forma más legible por humanos, puede usar el parámetro ‘-h’ con el comando ‘du’.

# du -ah /var | sort -n -r | head -n 10
1020K   /var/cache/apt/archives/fonts-dejavu-core_2.37-1_all.deb
1016K   /var/cache/apt/archives/udev_232-21ubuntu3_amd64.deb
1016K   /var/cache/apt/archives/libxatracker2_12.0.6-0ubuntu0.16.04.1_amd64.deb
1016K   /var/cache/apt/archives/colord-data_1.3.3-2_all.deb
1016K   /var/cache/apt/archives/colord-data_1.3.2-1_all.deb
1004K   /var/cache/apt/archives/libxatracker2_12.0.6-0ubuntu0.16.10.1_amd64.deb
1004K   /var/cache/app-info/gv
1000K   /var/cache/app-info/gv/en_US.gvz
996K    /var/cache/apt/archives/udev_231-9ubuntu4_amd64.deb
996K    /var/cache/apt/archives/netpbm_2%3a10.0-15.3build1_amd64.deb

A continuación, puede usar el siguiente comando moviéndose al directorio requerido donde desea verificar los archivos superiores como se muestra.

# cd /var/log/
# du -hsx * | sort -rh | head -10
2.9M    dpkg.log.1
2.0M    dist-upgrade
1.6M    kern.log.1
932K    installer
232K    syslog.2.gz
228K    tomcat8
188K    syslog.1
188K    auth.log.1
144K    kern.log
136K    apt

5) Comandos Ncdu para verificar el uso del disco

Ncdu es un analizador de uso de disco con una interfaz Ncurses. Es muy útil y fácil de usar cuando se trata de rastrear archivos y directorios que consumen espacio. Simplemente puede instalarlo usando el siguiente comando en su sistema Ubuntu o RHEL.

# apt install ncdu
# yum install ncdu

Después de la instalación, puede comenzar a usar este comando para verificar el uso del disco de su sistema.

# ncdu

Después de ejecutar este comando, comenzará a actualizar su disco y mostrará los resultados en la terminal. Utilice el siguiente comando para verificar el uso del disco de la partición raíz de su sistema.

# ncdu /

ncdu

La carpeta más grande aparece en la parte superior, lo que le facilita la resolución de problemas. Puede usar su comando de ayuda para saber más sobre su uso y obtener más beneficios de esto.

6) Shell Script para encontrar los principales directorios que consumen discos

En este script de shell, veremos qué directorios superiores consumen el gran espacio en disco, de modo que podamos liberar algo de espacio durante una emergencia. Los comandos que usamos en este script son ‘du’ con diferentes claves, ‘sort’ y ‘head’.

Creemos un nuevo archivo usando su editor de línea de comandos como ‘vi’ y coloquemos el siguiente contenido como se muestra a continuación.

# vim topdir.sh
#/bin/bash

    #check if user input argument

    if [ $# -eq 0 ]; then

    #if no argument print next messge and exit from script
    echo "Usage: $0 "

    exit 1

    fi
    # Save first arguments to variables
    CheckedDir="$1"
    #
    HeadValue=$2
    #set value for variable count value 1
    count=1

    #just print empty line
    echo ""

    #Print next message:
    echo "Here is the ${HeadValue} biggest directories located in ${CheckedDir}:"

    echo ""

    #Getting list of directories and space they use.
    du -a --max-depth=1 --one-file-system ${CheckedDir}/ |

    #next we sort result
    sort -rn |

    sed "1d" |

    # next we get only first X directories
    head -"${HeadValue}" |

    #next print result to user
    while read size dirrr ; do
    #counting size in Mb

    size="$(( size / 1024 ))"

    #show output for user
    echo "N°${count} : ${dirrr} is ${size} Mb"

    ((count++))

    done

    echo ""

Guarde y cierre el archivo de configuración, otorgue permisos ejecutables al archivo y luego ejecute el script para encontrar los directorios superiores bajo su ubicación definida como se muestra.

# chmod +x topdir.sh
# ./topdir.sh /var/log/

topdir

Conclusión

En este tutorial, usamos varias utilidades de línea de comando para verificar directorios grandes en discos de sistemas Linux. Con frecuencia utilizamos varias formas de acceder a esos archivos o directorios que consumen mucho espacio en el disco y tenemos que usar dichos comandos para llegar a esos archivos y directorios. En este artículo, solo cubrimos las herramientas de línea de comandos para encontrar el uso del espacio en disco, mientras que hay muchos otros analizadores web disponibles para buscar y monitorear el espacio en disco con archivos y directorios grandes.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar