La prima riga mostra l'intera dimensione della directory in cui stai elencando i file. Quando si aggiunge il -io 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 -un (tutti) come mostrato di seguito:
Come puoi vedere, anche i file nascosti (che iniziano con un punto) vengono stampati ora.
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 -dimensione del blocco= opzioni che specificano MB con M come mostrato nella sintassi e nella schermata di seguito:
# ls -lS --block-size=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 è la dimensione più vicina che può essere stampata se limitata a MB.
Il resto dell'output rimane esattamente lo stesso.
Utilizzando la stessa opzione (-dimensione del blocco=) 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 --block-size=G
Puoi anche stampare la dimensione in unità KB sostituendo M o G per a K:
# ls -lS --block-size=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 a .). Per fare ciò, dovrai aggiungere l'opzione -un (tutti) che visualizzerà anche i file nascosti, quindi, per stampare i file ordinati per dimensione per byte eseguire:
# ls -laS
Come puoi vedere ora i file nascosti, che iniziano con a . (punto) sono stampati, come .xsession-errors, .ICEauthority, ecc.
Se vuoi stampare file e directory ordinati per dimensione in MB, inclusi i file nascosti, esegui:
# ls -laS --block-size=M
Per stampare o visualizzare tutti i file e le directory ordinati per dimensione mostrata in GB, inclusi i file nascosti, eseguire:
# ls -laS --block-size=G
Analogamente ai comandi precedenti, per stampare file e directory ordinati per dimensione mostrata in KB, inclusi i file nascosti, eseguire:
# ls -laS --block-size=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.