Espai en disc a Linux

ls -lSr | more a Linux: fitxers ordenats per mida



La combinació ls -lSr | more llista els fitxers d’un directori ordenats per mida, del més petit al més gran, i en mostra el resultat pàgina a pàgina. És una manera ràpida de veure quins fitxers ocupen més en un directori amb molts fitxers: com que l’ordre és ascendent, els més grans queden al final de la llista.

Peça a peça

ls -lSr | more
PeçaQuè fa
lsLlista el contingut del directori actual
-lFormat llarg: permisos, propietari, grup, mida, data i nom
-SOrdena per mida, del més gran al més petit
-rInverteix l’ordre: ara va del més petit al més gran
La barra verticalCanonada (pipe): passa la sortida d’ls a la comanda següent
moreMostra el text pantalla a pantalla

Compte, perquè és un error habitual: -S tot sol no ordena de petit a gran, sinó al revés. És la -r la que capgira l’ordre.

Exemple

En un directori amb quatre fitxers:

$ ls -lS
total 20
-rw-rw-r-- 1 oscar oscar 5120 Sep  1 09:00 informe_c.txt
-rw-rw-r-- 1 oscar oscar 3072 Sep  1 09:00 informe_d.txt
-rw-rw-r-- 1 oscar oscar 2048 Sep  1 09:00 informe_b.txt
-rw-rw-r-- 1 oscar oscar 1024 Sep  1 09:00 informe_a.txt

$ ls -lSr
total 20
-rw-rw-r-- 1 oscar oscar 1024 Sep  1 09:00 informe_a.txt
-rw-rw-r-- 1 oscar oscar 2048 Sep  1 09:00 informe_b.txt
-rw-rw-r-- 1 oscar oscar 3072 Sep  1 09:00 informe_d.txt
-rw-rw-r-- 1 oscar oscar 5120 Sep  1 09:00 informe_c.txt

La primera línia, total 20, és l’espai que ocupen al disc (en blocs d’1 KiB), no el nombre de fitxers.

Amb tan pocs fitxers, more mostra tota la llista de cop i acaba. Si la llista no cap a la pantalla, s’atura i a baix hi veuràs --More--. Llavors:

TeclaQuè fa
EspaiPàgina següent
RetornUna línia més
/textCerca text
qSurt

Variants més pràctiques

Amb mides llegibles (K, M, G):

$ ls -lShr
total 20K
-rw-rw-r-- 1 oscar oscar 1.0K Sep  1 09:00 informe_a.txt
-rw-rw-r-- 1 oscar oscar 2.0K Sep  1 09:00 informe_b.txt
-rw-rw-r-- 1 oscar oscar 3.0K Sep  1 09:00 informe_d.txt
-rw-rw-r-- 1 oscar oscar 5.0K Sep  1 09:00 informe_c.txt

Només els 10 fitxers més grans (sense paginador, perquè no cal):

ls -lSh | head -n 11

L’11 és perquè la primera línia és la del total.

Amb less en lloc de more, pots tornar enrere i cercar amb més comoditat:

ls -lShr | less

Incloent-hi els fitxers ocults:

ls -lShra | less

Una limitació: els directoris

ls -S ordena pel que mesura l’entrada del directori (normalment 4096 bytes), no pel que ocupa tot el que hi ha a dins. Si vols saber quins directoris ocupen més, necessites du:

du -sh * | sort -h

Ho tens explicat a du -sk * | sort -nr i du -h –max-depth=1 | sort.

Per buscar fitxers grans en tot un arbre de directoris, no només en el directori actual, fes servir find:

find /var -type f -size +100M -exec ls -lh {} +

Comandes relacionades

  • ls i ls -lh: llistar fitxers.
  • more i less: paginadors.
  • du i df: espai ocupat per directoris i per discos.