Come ordinare i files per dimensione o data, in Linux
In questo articolo ci occupiamo di come ordinare il contenuto di una directory, per dimensione o per data.
Per fare questo utilizziamo il noto comando "ls" che elenca il contenuto di una directory.
Il comando "ls", senza opzioni, presenterà il contenuto della directory corrente, cioè della directory in cui stiamo lavorando
# ls
Il risultato sarà ad esempio
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr WAscript
Per ottenere un elenco utilizziamo l'opzione "-l"
# ls -l
Ecco il risultato
totale 20
lrwxrwxrwx. 1 root root 7 24 lug 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 31 lug 2019 boot
drwxr-xr-x 20 root root 3180 24 lug 2019 dev
drwxr-xr-x. 95 root root 8192 29 gen 17.30 etc
drwxr-xr-x. 2 root root 6 11 apr 2018 home
lrwxrwxrwx. 1 root root 7 24 lug 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 24 lug 2019 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 11 apr 2018 media
drwxr-xr-x. 2 root root 6 11 apr 2018 mnt
drwxr-xr-x. 2 root root 6 11 apr 2018 opt
dr-xr-xr-x 173 root root 0 24 lug 2019 proc
dr-xr-x---. 3 root root 171 29 ago 2019 root
drwxr-xr-x 30 root root 940 28 feb 17.08 run
lrwxrwxrwx. 1 root root 8 24 lug 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 11 apr 2018 srv
dr-xr-xr-x 13 root root 0 24 lug 2019 sys
drwxrwxrwt. 9 root root 4096 28 feb 17.26 tmp
drwxr-xr-x. 13 root root 155 24 lug 2019 usr
drwxr-xr-x. 20 root root 278 24 lug 2019 var
Per elencare il contenuto di una directory specifica, indichiamo la directory. Ad esempio /var/www/html
# ls -l /var/www/html/sito1
Il risultato sarà
totale 0
-rw-r--r-- 1 root root 164056 6 gen 18.01 azioni.php
-rw-r--r-- 1 root root 4286 6 gen 18.01 favicon.ico
drwxr-xr-x 4 root root 265 6 gen 18.01 include
-rw-r--r-- 1 root root 26914 6 gen 18.01 index.php
-rw-r--r-- 1 root root 1508 6 gen 18.01 indexpop.php
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
Nota: per visualizzare anche i file nascosti ("hidden") aggiungiamo l'opzione "-a"
# ls -la /var/www/html/sito1
Ecco il risultato:
totale 0
drwxr-xr-x 3 root root 147 6 gen 18.01 .
drwxr-xr-x 8 root root 85 6 gen 18.01 ..
-rw-r--r-- 1 root root 164056 6 gen 18.01 azioni.php
-rw-r--r-- 1 root root 4286 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 3622 6 gen 18.01 .htaccess
-rw-r--r-- 1 root root 49 6 gen 18.01 .htpasswd
drwxr-xr-x 4 root root 265 6 gen 18.01 include
-rw-r--r-- 1 root root 26914 6 gen 18.01 index.php
-rw-r--r-- 1 root root 1508 6 gen 18.01 indexpop.php
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
Se il numero di linee fosse eccessivo possiamo visualizzare solo le prime righe, e demandare al click sul pulsante di invio della tastiera la visualizzazione delle successive, concatenando "ls" con "less"
# ls -la /var/www/html/sito1 | less
Finita questa premessa, veniamo all'argomento del nostro articolo: come ordinare i files per dimensione o data
Come ordinare i files per dimensione
Per ordinare i files, utilizziamo l'opzione "-S"
# ls -laS /var/www/html/sito1
Il risultato sarà
totale 0
-rw-r--r-- 1 root root 164056 6 gen 18.01 azioni.php
-rw-r--r-- 1 root root 26914 6 gen 18.01 index.php
-rw-r--r-- 1 root root 4286 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 3622 6 gen 18.01 .htaccess
-rw-r--r-- 1 root root 1508 6 gen 18.01 indexpop.php
drwxr-xr-x 4 root root 265 6 gen 18.01 include
drwxr-xr-x 3 root root 147 6 gen 18.01 .
drwxr-xr-x 8 root root 85 6 gen 18.01 ..
-rw-r--r-- 1 root root 49 6 gen 18.01 .htpasswd
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
Per leggere il peso dei files in formato "umano" utilizziamo l'opzione "h" ("human"), cioè in Kb, Mb, Gb..
# ls -laSh /var/www/html/sito1
totale 0
-rw-r--r-- 1 root root 161K 6 gen 18.01 azioni.php
-rw-r--r-- 1 root root 27K 6 gen 18.01 index.php
-rw-r--r-- 1 root root 4,2K 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 3,6K 6 gen 18.01 .htaccess
-rw-r--r-- 1 root root 1,5K 6 gen 18.01 indexpop.php
drwxr-xr-x 4 root root 265 6 gen 18.01 include
drwxr-xr-x 3 root root 147 6 gen 18.01 .
drwxr-xr-x 8 root root 85 6 gen 18.01 ..
-rw-r--r-- 1 root root 49 6 gen 18.01 .htpasswd
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
Per invertire l'ordinamento, cioè dal meno pesante al più pesante, utilizziamo l'opzione "r" ("reverse")
# ls -laShr /var/www/html/sito1
Il risultato sarà:
totale 0
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
-rw-r--r-- 1 root root 49 6 gen 18.01 .htpasswd
drwxr-xr-x 8 root root 85 6 gen 18.01 ..
drwxr-xr-x 3 root root 147 6 gen 18.01 .
drwxr-xr-x 4 root root 265 6 gen 18.01 include
-rw-r--r-- 1 root root 1,5K 6 gen 18.01 indexpop.php
-rw-r--r-- 1 root root 3,6K 6 gen 18.01 .htaccess
-rw-r--r-- 1 root root 4,2K 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 27K 6 gen 18.01 index.php
-rw-r--r-- 1 root root 161K 6 gen 18.01 azioni.php
Se vogliamo includere anche le sotto directories, utilizziamo l'opzione "-R"
# ls -laShR /var/www/html/sito1
Eccol il risultato: la cartella "include" viene esplosa nel suo contenuto
/var/www/html/op/sito1:
totale 216K
-rw-r--r-- 1 root root 161K 6 gen 18.01 azioni.php
-rw-r--r-- 1 root root 27K 6 gen 18.01 index.php
-rw-r--r-- 1 root root 4,2K 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 3,6K 6 gen 18.01 .htaccess
-rw-r--r-- 1 root root 1,5K 6 gen 18.01 indexpop.php
drwxr-xr-x 4 root root 265 6 gen 18.01 include
drwxr-xr-x 3 root root 147 6 gen 18.01 .
drwxr-xr-x 8 root root 85 6 gen 18.01 ..
-rw-r--r-- 1 root root 49 6 gen 18.01 .htpasswd
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
/var/www/html/op/sito1/include:
totale 79K
-rw-r--r-- 1 root root 34K 6 gen 18.01 functions.php.inc
-rw-r--r-- 1 root root 21K 6 gen 18.01 conf.php.inc
-rw-r--r-- 1 root root 12K 6 gen 18.01 page.php.inc
-rw-r--r-- 1 root root 12K 6 gen 18.01 lista.css
rwxr-xr-x 4 root root 265 6 gen 18.01 .
drwxr-xr-x 3 root root 147 6 gen 18.01 ..
Come ordinare i files per data di ultima modifica
Per ordinare i files per data, anzichè per dimensione, utilizziamo l'opzione "t"
ls -lt /var/www/html/sito1
Ecco il risultato
totale 208
drwxr-xr-x 4 root root 265 6 gen 18.01 include
-rw-r--r-- 1 root root 1508 6 gen 18.01 indexpop.php
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
-rw-r--r-- 1 root root 4286 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 26914 6 gen 18.01 index.php
-rw-r--r-- 1 root root 164056 6 gen 18.01 azioni.php
Anche in questo caso, per visualizzare in ordine inverso, utilizziamo l'opzione "r"
ls -ltr /var/www/html/sito1
Ecco il risultato
totale 208
-rw-r--r-- 1 root root 164056 6 gen 18.01 azioni.php
-rw-r--r-- 1 root root 26914 6 gen 18.01 index.php
-rw-r--r-- 1 root root 4286 6 gen 18.01 favicon.ico
-rw-r--r-- 1 root root 35 6 gen 18.01 robots.txt
-rw-r--r-- 1 root root 1508 6 gen 18.01 indexpop.php
drwxr-xr-x 4 root root 265 6 gen 18.01 include