Introduzione
Il comando ls
è uno dei comandi di base che qualsiasi utente Linux dovrebbe conoscere. Viene utilizzato per elencare informazioni su file e directory all'interno del file system. L'utility ls
fa parte del pacchetto GNU di base che è installato su tutte le distribuzioni Linux.
In questo tutorial, ti mostreremo come utilizzare il comando ls
attraverso esempi pratici e spiegazioni dettagliate delle opzioni ls
più comuni .
Come usare il comando ls
La sintassi per il comando ls
è la seguente:
ls [OPTIONS] [FILES]
Se utilizzato senza opzioni e argomenti, ls
visualizza un elenco dei nomi di tutti i file nella directory di lavoro corrente :
ls
I file sono elencati in ordine alfabetico:
cache db empty games lib local lock log mail opt run spool tmp
Per elencare i file in una directory specifica, passare il percorso alla directory come argomento al comando ls. Ad esempio, per elencare i contenuti della directory /etc
digitare:
ls /etc
È inoltre possibile passare più directory e file al comando ls
separati da spazio:
ls /etc /var /etc/passwd
Se l'utente che ha effettuato l'accesso non dispone delle autorizzazioni di lettura per la directory, verrà visualizzato un messaggio che informa che ls
non può aprire la directory:
ls /root
ls: cannot open directory '/root': Permission denied
Il comando ls
ha una serie di opzioni. Nelle sezioni seguenti, esploreremo le opzioni più comunemente utilizzate.
Formattare l'elenco
L'output predefinito del comando ls
mostra solo i nomi dei file e delle directory, il che non è molto informativo.
L'opzione -l
(L minuscola) permette di visualizzare l'elenco dei file in un formato di elenco lungo (long listing format).
Quando viene utilizzato il formato long listing format, il comando ls
mostrerà le seguenti informazioni sul file:
- Il tipo di file
- Le autorizzazioni del file
- Numero di collegamenti reali al file
- Proprietario del file
- File group
- Dimensione del file
- Data e ora
- File name
Considera il seguente esempio:
ls -l /etc/hosts
-rw-r--r-- 1 root root 445 May 5 12:11 /etc/hosts
Spieghiamo le colonne più importanti dell'output.
Il primo carattere mostra il tipo di file. Nel nostro esempio, il primo carattere è -
che indica un file normale. I valori per altri tipi di file sono i seguenti:
-
- File normaleb
- Blocca file specialec
- File speciale di caratterid
- Directoryl
- Collegamento simbolicon
- Network filep
- FIFOs
- Presa
I prossimi nove caratteri mostrano i permessi del file. I primi tre caratteri sono per l'utente, i tre successivi sono per il gruppo e gli ultimi tre sono per gli altri. È possibile modificare le autorizzazioni del file con il comando chmod
. Il carattere di autorizzazione può assumere il seguente valore:
r
- Autorizzazione a leggere il filew
- Autorizzazione a scrivere nel filex
- Autorizzazione per eseguire il files
- bit setgidt
- un po 'appiccicoso
Nel nostro esempio, rw-r--r--
significa che l'utente può leggere e scrivere il file e il gruppo e altri possono solo leggere il file. Il numero 1
dopo i caratteri di autorizzazione è il numero di collegamenti fisici a questo file.
I prossimi due campi root root
mostrano il proprietario del file e il gruppo, seguiti dalla dimensione del file 445
, mostrata in byte. Utilizzare l'opzione -h
se si desidera stampare formati in un formato leggibile dall'uomo (human-readable). È possibile modificare il proprietario del file utilizzando il comando chown
May 5 12:11
è la data e l'ora dell'ultima modifica del file.
L'ultima colonna è il nome del file.
Mostra file nascosti
Per impostazione predefinita, il comando ls
non mostrerà i file nascosti. In Linux, un file nascosto è qualsiasi file che inizia con un punto (.
).
Per visualizzare tutti i file inclusi i file nascosti utilizzare l'opzione -a
:
ls -la ~/
drwxr-x--- 11 noviello noviello 4096 Feb 11 14:28 .
drwxr-xr-x 12 noviello noviello 4096 Dec 22 03:28 ..
-rw------- 2 noviello noviello 1630 Nov 13 2018 .bash_history
drwxr-xr-x 3 noviello noviello 4096 Jul 23 2018 bin
drwxr-xr-x 3 noviello noviello 4096 Jul 22 2018 Desktop
drwxr-xr-x 4 noviello noviello 4096 Dec 11 2018 .npm
drwx------ 1 noviello noviello 4096 Mar 1 2018 .ssh
Ordinamento dell'uscita
Come già accennato, per impostazione predefinita il comando ls
elenca i file in ordine alfabetico.
L'opzione --sort
consente di ordinare l'output per estensione, dimensione, ora e versione:
--sort=extension
(o-X
) - ordina in ordine alfabetico per estensione.--sort=size
(o-S
) - ordina per dimensione del file.--sort=time
(o-t
) - ordina per tempo di modifica.--sort=version
(o-v
) - Ordinamento naturale dei numeri di versione.
Se si desidera ottenere i risultati nell'ordinamento inverso, utilizzare l'opzione -r
.
Ad esempio, per ordinare i file nella directory /var
in base al tempo di modifica nell'ordinamento inverso, utilizzare:
ls -ltr /var
Vale la pena ricordare che il comando ls
non mostra lo spazio totale occupato dal contenuto della directory. Per ottenere la dimensione di una directory utilizzare il comando du
Elenca sottodirectory ricorsivamente
L'opzione -R
indica al comando ls
di visualizzare ricorsivamente il contenuto delle sottodirectory:
ls -R
Conclusione
Il comando ls
elenca informazioni su file e directory. Per maggiori informazioni su ls
digita nel terminale:
man ls