Как сразу получить верхние подпапки папки '/', занимающей огромное дисковое пространство в Linux

Perl кажется удивительно хорошим в этом:

Создайте файл с 10 000 000 слов, разделенных пробелами

for ((i=1; i<=10000000; i++)); do printf "%s " $RANDOM ; done > one.line

Теперь, perl, чтобы добавлять новую строку после каждых 1000 слов

time perl -pe '
    s{ 
        (?:\S+\s+){999} \S+   # 1000 words
        \K                    # then reset start of match
        \s+                   # and the next bit of whitespace
    }
    {\n}gx                    # replace whitespace with newline
' one.line > many.line

Время

real    0m1.074s
user    0m0.996s
sys     0m0.076s

проверить результаты

$ wc one.line many.line
        0  10000000  56608931 one.line
    10000  10000000  56608931 many.line
    10000  20000000 113217862 total

Принято Решение awk заняло чуть более 5 секунд в моем входном файле.

8
21.02.2018, 11:04
5 ответов

Este comando enumerará los 15 más grandes en orden:

du -xhS | sort -h | tail -n15

Usamos el indicador -xpara omitir directorios en sistemas de archivos separados.

El -hen el duda la salida en formato legible por humanos, sort -hluego puede organizar esto en orden.

El -Sen el comando dusignifica que se excluye el tamaño de los subdirectorios.

Puede cambiar el número de tailpara ver menos o más. Comando súper práctico.

14
27.01.2020, 20:08

El comando du -hs /*enumerará todos los directorios superiores por separado.

0
27.01.2020, 20:08

Siempre uso

cd /
du -sch./*

Esto le mostrará todas las carpetas de la carpeta raíz y su espacio en disco utilizado.

Después de obtener el uso de todos los directorios principales, cambie en la siguiente carpeta secundaria y repita el comando 'du' de arriba. Repita esos pasos para encontrar sus archivos y carpetas grandes.

Tienes que ir de carpeta en carpeta para saber qué está pasando.

Editar :Es posible que también desee el indicador "x" si tiene varias particiones montadas. La 'x' solo contará el uso en un sistema de archivos y excluirá otros montajes.

du -schx./*
3
27.01.2020, 20:08

du -h --max-depth=1 / | sort -h -r

Esto mostrará cada carpeta en /incluyendo /en sí mismo.

Tenga en cuenta que podría llevar mucho tiempo escanear todos los archivos. Si necesita tamaños específicos de subcarpetas en una carpeta, especifique la ruta exacta de la carpeta en lugar de /o simplemente omita /si ya está en esa carpeta.

  • -hlas opciones muestran los tamaños en un formato amigable
  • --max-depth=1instruye al comando para ir solo 1 directorio en el interior/
  • sort -h -rclasifica los resultados utilizando tamaños amigables para los humanos y -rindica al comando que muestre los resultados en orden inverso (desde los directorios más grandes a los más pequeños)
17
27.01.2020, 20:08

Два других инструмента командной строки с открытым исходным кодом, отображающие использование верхнего места на диске,:

ncdu:доступен в репозиториях большинства дистрибутивов Linux.

Top Disk Usage(tdu):Один статический двоичный файл без зависимостей, написанный на Golang.

enter image description here

7
27.01.2020, 20:08

Теги

Похожие вопросы