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ça | Què fa |
|---|---|
ls | Llista el contingut del directori actual |
-l | Format llarg: permisos, propietari, grup, mida, data i nom |
-S | Ordena per mida, del més gran al més petit |
-r | Inverteix l’ordre: ara va del més petit al més gran |
| La barra vertical | Canonada (pipe): passa la sortida d’ls a la comanda següent |
more | Mostra 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:
| Tecla | Què fa |
|---|---|
Espai | Pàgina següent |
Retorn | Una línia més |
/text | Cerca text |
q | Surt |
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 {} +