Ricerca nel sito web

16 esempi pratici di comando Linux LS per principianti


Ogni volta che è necessario dare un'occhiata al contenuto di una directory sulla riga di comando in Linux o in qualsiasi altro sistema operativo simile a UNIX, ls è il comando utilizzato. Il comando ls elenca i contenuti delle directory in ordine alfabetico.

Sebbene questo sia l'utilizzo di base degli strumenti, offre una pletora di funzionalità (sotto forma di opzioni della riga di comando) che ti aiutano in diverse circostanze. In questo tutorial, discuteremo l'utilizzo di alcune di queste opzioni della riga di comando attraverso esempi di facile comprensione. Utilizzare il comando cd per andare in una directory in cui si desidera eseguire ls.

1. Come elencare file/directory nascosti

Per impostazione predefinita, il comando ls non mostra file/directory nascosti. Tuttavia, puoi forzare lo strumento a farlo utilizzando l'opzione della riga di comando -a. Quindi, per elencare tutti i file/directory (compresi quelli nascosti, quelli con nomi che iniziano con un punto .) nella directory corrente, esegui il seguente comando:

ls -a

2. Come saltare le voci della directory corrente (.) e precedente (..) nell'output

Quando si utilizzano le opzioni della riga di comando -a, vengono visualizzate anche le voci per la directory corrente e precedente (. e .. rispettivamente). Se vuoi che ls non li visualizzi nell'output, usa invece l'opzione della riga di comando -A.

3. Come visualizzare file/directory in ordine inverso

Per impostazione predefinita, il comando ls mostra i file in ordine alfabetico nell'output. Ma se vuoi, puoi anche fare in modo che lo strumento visualizzi i file in ordine inverso. Per questo, dovrai utilizzare l'opzione della riga di comando -r dello strumento.

ls -r

Ecco un esempio:

4. Come ordinare l'output del comando ls in base alle estensioni dei file

Per ordinare l'output del comando ls in ordine alfabetico in base alle estensioni dei file, utilizza l'opzione della riga di comando -X.

ls -X

Ecco il comando precedente in azione:

Come puoi vedere nello screenshot qui sopra, tra i file con nomi contenenti un'estensione, echo.c è elencato per primo, e byzanz_window.py è elencato alla fine.

5. Come ordinare i file in base all'ora di modifica

Se vuoi sapere rapidamente quali file o directory sono stati modificati di recente, puoi utilizzare l'opzione ls commands -t.

ls -t

L'opzione della riga di comando -t visualizza prima le voci più recenti.

6. Come elencare le sottodirectory in modo ricorsivo

Se lo desideri, puoi fare in modo che il comando ls visualizzi anche il contenuto delle sottodirectory. Questo può essere fatto usando l'opzione della riga di comando -R.

ls -R

La seguente schermata mostra il comando precedente in azione:

7. Come elencare i nomi dei file insieme ai loro numeri di inode

Il comando ls ti consente anche di elencare i nomi di file/directory insieme ai rispettivi numeri di inode. Lo strumento fornisce l'opzione della riga di comando -i per accedere a questa funzione.

ls -i

Ecco il comando precedente in azione:

Come puoi vedere nello screenshot qui sopra, i numeri a sinistra sono numeri di inode, mentre i nomi a destra sono nomi di file/directory corrispondenti.

8. Come visualizzare informazioni dettagliate su file e directory

Il comando ls può anche stampare informazioni dettagliate su file e directory. Per abilitare questo formato di output (noto anche come formato di elenco lungo), è necessario utilizzare l'opzione della riga di comando -l.

Come puoi vedere nello screenshot qui sopra, l'output è diviso in 8 colonne. Ecco cosa trasmettono queste colonne:

  • La prima colonna mostra i permessi dei file
  • La seconda colonna mostra il numero di hard link
  • Il terzo e il quarto sono nomi di proprietari e gruppi
  • quinto è la dimensione del file
  • Il sesto e il settimo sono la data e l'ora dell'ultima modifica
  • L'ultimo è il nome del file.

9. Come visualizzare le informazioni sull'autore

Puoi anche chiedere al comando ls di elencare l'autore di ciascun file quando produci elenchi di directory di formato lungo. Per questo, devi combinare l'opzione --author con -l.

ls -l --autore

Come puoi vedere nello screenshot qui sopra, la quinta colonna appena aggiunta è per l'autore.

Nota: il sito web ufficiale di GNU dice: \In GNU/Hurd, gli autori dei file possono differire dai loro proprietari, ma in altri sistemi operativi i due sono gli stessi.\

10. Come stampare escape in stile C per caratteri non grafici (come newline e spazi)

Supponiamo che la directory corrente contenga un file con un nome con un carattere di nuova riga. Se provi a elencare il contenuto di quella directory, quel particolare nome di file verrà mostrato contenente un punto interrogativo (?), che indica un carattere non stampabile.

Tuttavia, il comando ls fornisce un'opzione che, se utilizzata, stampa caratteri escape in stile C per i caratteri non stampabili. L'opzione in questione è -b.

Quindi puoi vedere nello screenshot qui sopra, l'opzione -b porta alla stampa ls per il carattere di nuova riga. Allo stesso modo, gli spazi vengono rappresentati da \[space] in questa modalità.

11. Come stampare la dimensione del file in unità diverse dai byte

Se vuoi conoscere la dimensione di un file, dovrai usare l'opzione -l (che abilita il formato dell'elenco lungo) di cui abbiamo parlato al punto 3 sopra. La dimensione viene visualizzata in byte per impostazione predefinita. Tuttavia, potrebbero esserci situazioni in cui vorresti la dimensione in kilobyte o megabyte.

Il comando ls ha un'opzione che consente di specificare l'unità in cui si desidera visualizzare la dimensione del file. L'opzione in questione è --block-size. Ad esempio, se desideri che la dimensione venga visualizzata in kilobyte, puoi eseguire il seguente comando:

ls -l --block-size=k [nome-file]

Tieni presente che la cifra della dimensione prodotta con l'opzione della riga di comando -l è la dimensione effettiva del file o la quantità di dati che contiene. Se, invece, vuoi conoscere la dimensione del file sul file system o la dimensione allocata (sì, può essere diversa), allora dovrai usare il comando -s.

ls -s --block-size=k [file-name]

Per ulteriori informazioni sulla differenza tra la dimensione del file prodotta dall'opzione -l e l'opzione -s, vai qui.

12. Come fare in modo che ls mostri solo i nomi dei file e le dimensioni dei file nell'output

Se desideri che l'output del comando ls contenga solo nomi di file/directory e le rispettive dimensioni, puoi farlo utilizzando l'opzione -h in combinazione con l'opzione della riga di comando -l/-s.

Per esempio:

ls -s -h

13. Come fare in modo che ls non elenchi i file di backup nell'output

In Linux, i file di backup sono rappresentati con nomi che terminano con una tilde(~). Il comando ls fornisce un'opzione (-B) tramite la quale puoi chiedere allo strumento di non elencare i file di backup nell'output, nel caso sia necessario.

Ad esempio, lo screenshot seguente mostra due comandi ls. Il primo emette il nome di un file di backup, ma il secondo (che usa l'opzione -B) no.

14. Come fare in modo che ls indichi specificamente il tipo di file nell'output

Per impostazione predefinita, l'output visualizzato dal comando ls è codificato a colori, dove colori diversi rappresentano diversi tipi di file. Tuttavia, se lo desideri, puoi anche fare in modo che lo strumento aggiunga un indicatore (a questo scopo) alle voci nell'output. È possibile accedere a questa funzione utilizzando l'opzione -F.

Ecco un esempio:

Osserva la directory extra/with example e * con l'eseguibile test. Ecco l'elenco completo degli indicatori e insieme alle informazioni su ciò che indicano:

  • @ indica un collegamento simbolico
  • * indica un eseguibile
  • = indica un file socket
  • | indica una pipe con nome
  • > indica una porta
  • / indica una directory

15. Come modificare il formato di output del comando ls

Se lo desideri, puoi anche modificare il formato di output per il comando ls. L'opzione tools --format ti consente di farlo. Questa opzione richiede di passare un valore che indichi il tipo di formato di output desiderato. I valori disponibili sono:  verboso o lungo, virgole, orizzontale o trasversale, verticale e colonna singola.

Ad esempio, utilizza --format=commas quando desideri un output separato da virgole:

Allo stesso modo, utilizza --format=single-column quando desideri che l'output venga visualizzato in una singola colonna:

16. Come fare in modo che ls nasconda un particolare tipo di file

Se lo desideri, puoi anche forzare il comando ls a nascondere un particolare tipo di file in output. L'opzione --hide (che richiede che gli venga passato un modello di shell) ti consente di farlo. Ad esempio, se non si desidera che lo strumento non visualizzi i file .txt nell'output, ecco il comando da eseguire:

ls --hide=*.txt

Lo screenshot seguente mostra l'output sia senza che con l'opzione --hide.

Conclusione

Sebbene ls sia un comando molto semplice, l'efficacia con cui può essere utilizzato dipende dalla conoscenza da parte dell'utente delle opzioni della riga di comando fornite dallo strumento. Prova le opzioni che abbiamo discusso qui nel tutorial e, in caso di dubbi o domande, vai alla sua pagina man.