ls
è uno dei comandi di base che qualsiasi utente Linux dovrebbe conoscere.
Il ls
comando elenca i file e le directory all'interno del file system e mostra informazioni dettagliate su di essi. Fa parte del pacchetto di utilità di base GNU che è installato su tutte le distribuzioni Linux.
Questo articolo ti mostrerà come usare il comando ls attraverso esempi pratici e spiegazioni dettagliate delle opzioni ls più comuni.
Come utilizzare ls
Comando #
La sintassi per ls
il comando è il 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 in tutte le colonne che possono rientrare nel tuo terminale:
cache db empty games lib local lock log mail opt run spool tmp
Per elencare i file in una directory specifica, passa il percorso della directory come argomento a ls
comando. Ad esempio, per elencare il contenuto di /etc
directory, dovresti digitare:
ls /etc
Puoi anche passare più directory e file separati da uno spazio:
ls /etc /var /etc/passwd
Se l'utente con cui hai effettuato l'accesso non ha i permessi di lettura per la directory, riceverai un messaggio che dice che ls
impossibile aprire la directory:
ls /root
ls: cannot open directory '/root': Permission denied
Il ls
comando ha una serie di opzioni. Nelle sezioni seguenti esploreremo le opzioni più comunemente utilizzate.
Formato elenco lungo #
L'output predefinito di ls
comando mostra solo i nomi dei file e delle directory, il che non è molto informativo.
Il -l
( L minuscola) l'opzione dice a ls
per stampare file in un formato elenco lungo.
Quando viene utilizzato il formato elenco lungo, puoi visualizzare le seguenti informazioni sul file:
- Il tipo di file.
- I permessi dei file.
- Numero di collegamenti reali al file.
- Proprietario del file.
- Gruppo di file.
- Dimensioni file.
- Data e ora.
- Nome file.
Ecco un esempio:
ls -l /etc/hosts
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
Spieghiamo le colonne più importanti dell'output.
Il primo carattere mostra il tipo di file. In questo esempio, il primo carattere è -
, che indica un file normale. I valori per altri tipi di file sono i seguenti:
-
- File normale.b
- Blocca file speciali.c
- File speciale di caratteri.d
- Elenco.l
- Collegamento simbolico.n
- File di rete.p
- FIFO.s
- Presa.
I successivi nove caratteri mostrano i permessi del file. I primi tre caratteri sono per l'utente, i successivi tre sono per il gruppo e gli ultimi tre sono per gli altri. Puoi modificare i permessi dei file con chmod
comando. Il carattere di autorizzazione può assumere il seguente valore:
r
- Permesso di leggere il file.w
- Autorizzazione a scrivere sul file.x
- Permesso per eseguire il file.s
-setgid
bit.t
-sticky
bit.
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 c'è il numero di collegamenti reali a questo file.
I prossimi due campi root root
mostrano il proprietario del file e il gruppo, seguiti dalla dimensione del file (337
), mostrato in byte. Usa il -h
opzione se si desidera stampare i formati in un formato leggibile dall'uomo. Puoi cambiare il proprietario del file usando il chown
comando.
Oct 4 11:31
è la data e l'ora dell'ultima modifica del file.
L'ultima colonna è il nome del file.
Mostra file nascosti #
Per impostazione predefinita, ls
il comando 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, usa il -a
opzione:
ls -la ~/
drwxr-x--- 10 linuxize linuxize 4096 Feb 12 16:28 .
drwxr-xr-x 18 linuxize linuxize 4096 Dec 26 09:21 ..
-rw------- 1 linuxize linuxize 1630 Nov 18 2017 .bash_history
drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 bin
drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 Desktop
drwxr-xr-x 4 linuxize linuxize 4096 Dec 12 2017 .npm
drwx------ 2 linuxize linuxize 4096 Mar 4 2018 .ssh
Ordinamento dell'output #
Come abbiamo già detto, per impostazione predefinita, ls
comando sta elencando i file in ordine alfabetico.
Il --sort
l'opzione 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 ora di modifica.--sort=version
(o-v
) - Ordinamento naturale dei numeri di versione.
Se vuoi ottenere i risultati nell'ordine inverso, usa il -r
opzione.
Ad esempio, per ordinare i file in /var
directory per ora di modifica nell'ordine inverso che useresti:
ls -ltr /var
Vale la pena ricordare che ls
comando non mostra lo spazio totale occupato dal contenuto della directory. Per ottenere la dimensione di una directory, usa il du
comando.
Elenca le sottodirectory in modo ricorsivo #
Il -R
l'opzione dice a ls
comando per visualizzare ricorsivamente il contenuto delle sottodirectory:
ls -R
Conclusione #
Il ls
comando elenca le informazioni su file e directory.
Per ulteriori informazioni su ls
visita la pagina GNU Coreutils o digita man ls
nel tuo terminale.
Se hai domande o feedback, sentiti libero di lasciare un commento.