Cómo Linux enumera directorios más grandes que el tamaño especificado

  

En los sistemas Linux, a menudo es necesario limpiar algunos de los archivos más grandes para expandir el espacio disponible en el disco. Pero antes de limpiar estos archivos, debe encontrarlos primero, o enumerar todos los directorios de Linux de archivos grandes. Este artículo toma el comando awk como ejemplo para presentar cómo Linux enumera los directorios más grandes que el tamaño especificado.

conocimiento de los negocios

directorio /home /PMS es el directorio de trabajo, el directorio ahora ocupan espacio en el disco duro es demasiado grande, se necesita ser limpiado, y ahora tiene que enumerar los archivos de más de 200 MB en ese directorio todos los niños Directorio y la huella de este directorio de subdirectorios

Implementación de scripts

du -h --max-depth = 10 /home /pms /* |  Awk ‘ {if ($ 1 ~ /M /) {split ($ 1, arr, " M ")}; if (($ 1 ~ /G /) | |  ($ 1 ~ /M /&&arr [1] "200)) {printf "% - 10s% s \\ n ", $ 1, $ 2}} ’ |  Ordenar -n -r

donde

du -h --max-depth = 10 /home /pms /*

El resultado es el siguiente

$ du -h --max-depth = 10 /home /pms /*

0 /home /pms /addressCountMap

12K /home /pms /bigDataEngine /conf

1.7 M /home /pms /bigDataEngine /analysis /warning

33M /home /pms /bigDataEngine /analysis /log

...

La siguiente declaración awk, la función es Determine el primer parámetro, realice la concordancia de cadenas, si es M, intercepte con el carácter M

if ($ 1 ~ /M /) {split ($ 1, arr, " M ")}; Br>

La siguiente instrucción awk, la función es determinar el primer parámetro, coincidencia de cadena:

1, M, para determinar si la capacidad es mayor que 200 MB, es emitir directamente el parámetro 1 y el parámetro 2

2, parámetro de salida directa 1 y parámetro 2

if (($ 1 ~ /G /) | |  ($ 1 ~ /M /&&arr [1]》 200)) {printf "% - 10s% s \\ n ", $ 1, $ 2}

Resultados de salida

$ Du -h --max-depth = 10 /home /pms /* |  Awk ‘ {if ($ 1 ~ /M /) {split ($ 1, arr, " M ")}; if (($ 1 ~ /G /) | |  ($ 1 ~ /M /&&arr [1] "200)) {printf "% - 10s% s \\ n ", $ 1, $ 2}} ’ |  Ordenar -n -r

Lo anterior es cómo Linux enumera los directorios más grandes que el tamaño especificado. Al enumerar los archivos grandes, puede eliminarlos en lotes.

Copyright © Conocimiento de Windows All Rights Reserved