Come elencare i file ordinati per dimensione in Linux

How List Files Ordered Size Linux

Il presente articolo spiega brevemente come elencare o visualizzare file e directory ordinati per dimensione. Questo può essere facilmente ottenuto con il comando ls (elenco). Prima di ordinare i file, per spiegare ogni opzione applicata facciamo un lungo elenco che stamperà le dimensioni dei file, tra le altre informazioni, senza ordinarli (nella seconda schermata spiego come ordinare), questo si ottiene aggiungendo il -l (minuscolo -l per elenco lungo) come mostrato di seguito:

#ls -l



La prima riga mostra l'intera dimensione della directory in cui stai elencando i file. Quando aggiungi il -l opzione l'output visualizzerà i permessi dei file nella prima colonna, il collegamenti rigidi , il proprietario, il gruppo, il dimensione in byte , mese, giorno e ora e infine il nome del file.



Se vuoi ordinare questo output in base alla dimensione del file, da più grande a più piccolo devi aggiungere il -S (Ordina) opzione.



#ls -lS

Come puoi vedere, l'output elenca i file e le directory ordinati per dimensione, ma in byte che non è molto amichevole per l'uomo (1 Byte è 0.000001 MB in decimale e 0.00000095367432 MB in binario).

Per stampare l'output in modo intuitivo devi solo aggiungere il -h opzione (a misura d'uomo):



#ls -lSh

Come puoi vedere nell'output sopra, ora le dimensioni dei file sono mostrate in GB, MB, KB e Byte.
Eppure stai vedendo solo file normali senza file nascosti, se vuoi includere file nascosti nell'output devi aggiungere l'opzione -a (tutti) come mostrato di seguito:

#ls -lSha

Come puoi vedere, ora vengono stampati anche i file nascosti (che iniziano con un punto).

Ulteriori suggerimenti:

I seguenti suggerimenti aggiuntivi ti aiuteranno a limitare l'output a una dimensione dell'unità specifica diversa dai byte. Il problema di questa opzione è che l'output non è mai esatto quando il file è più piccolo o più grande di un numero esatto di quell'unità.

Se si desidera stampare solo in un'unità di dimensioni specifiche indicando a ls di visualizzare tutti i file con la dimensione più vicina in quell'unità, è possibile ottenerlo, ad esempio, per stampare tutti i file in MB è possibile aggiungere –block-size= opzioni che specificano MB con M come mostrato nella sintassi e nella schermata di seguito:

#ls -lS --misura del blocco=M

Come puoi vedere ora la dimensione è solo in MB, il file più grande è 115 MB, il secondo 69 MB, ecc. I file con dimensioni KB o Byte non verranno stampati in modo accurato, verranno visualizzati come 1 MB che è il più vicino la dimensione può essere stampata se limitata a MB.
Il resto dell'output rimane esattamente lo stesso.

Utilizzando la stessa opzione ( –block-size= ) puoi visualizzare l'output in GB anziché in MB o in byte, la sintassi è la stessa, sostituisci il m per un G come nell'esempio seguente:

#ls -lS --misura del blocco=G

Puoi anche stampare la dimensione in unità KB sostituendo M o G per a A :

#ls -lS --misura del blocco= K

Tutti gli esempi sopra elencheranno file e directory ordinati per dimensione nell'unità desiderata, con il problema chiarito sopra menzionato l'output non sarà accurato per i file che non corrispondono a una dimensione esatta dell'unità. Inoltre, questi esempi non includevano file nascosti (che iniziano con .). Per fare ciò, dovrai aggiungere l'opzione -a (tutti) che visualizzerà anche i file nascosti, quindi, per stampare i file ordinati per dimensione per byte eseguire:

#ls -il

Come puoi vedere ora i file nascosti, che iniziano con un . (punto) vengono stampati, come .xsession-errors, .ICEauthority, ecc.

Se vuoi stampare file e directory ordinati per dimensione in MB, inclusi i file nascosti, esegui:

#ls -il --misura del blocco=M

Per stampare o visualizzare tutti i file e le directory ordinati per dimensione mostrata in GB, inclusi i file nascosti, eseguire:

#ls -il --misura del blocco=G

Analogamente ai comandi precedenti, per stampare file e directory ordinati per dimensione mostrata in KB, inclusi i file nascosti, eseguire:

#ls -il --misura del blocco= K

Conclusione:

Il comando ls offre molte funzionalità che ci aiutano a gestire i file e stampare le informazioni su di essi. Un altro esempio potrebbe essere l'uso di ls per elencare i file per data (con le opzioni -lt).

Spero che tu abbia trovato utile questo tutorial su Come elencare tutti i file ordinati per dimensione in Linux. Continua a seguire LinuxHint per ulteriori suggerimenti e aggiornamenti su Linux e il networking.