Questo articolo rappresenta il primo di una serie di lezioni che contengono i comandi di base, da utilizzare dal termina, per utilizzare al meglio GNU/Linux con e senza Graphic User Interface “GUI”.
In particolare i primi comandi che andremo ad esplorare sono quelli denominati “CoreUtils“ (POSIX/Linux core utilities), chiamati così perchè rappresentano tutti quei comandi userspace fondamenti di Linux. In questa prima lezione esploriamo i comandi base del terminale: quelli che ogni utente deve conoscere per muoversi nel sistema, creare o eliminare file e cartelle, e gestire i percorsi.
Questi comandi fanno parte, come anticipato, delle utility di base del sistema (GNU coreutils), quindi funzionano allo stesso modo su tutte le principali distribuzioni Linux: Debian, Ubuntu, Fedora, Arch, Manjaro, MX Linux, e molte altre.
Con la conoscenza di questi piccoli tools, a poco a poco, riusciremo ad esempio di muoverci all’interno del file system, eseguire ricerche, visualizzare file di testo, ecc.
In generale i comandi seguono una formattazione comune che consente di eseguire il comando, oppure eseguire il comando aggiungendo alcune opzioni, con una formattazione del tipo:
# [comando] [opzione] [input_necessari]
$ comandox -y ...
Indice dei comandi:
- Lettura di file e cartelle
- Operazioni su file e cartelle
- Visualizzazione contenuto file di testo sul terminale
QuickTip: la combinazione dei tasti "CTRL + L” pulisce la finestra del terminale.
In alternativa puoi utilizzare il comando clear.
Lettura di file e cartelle
I seguenti comandi vengono utilizzati per muoversi tra le cartelle o leggere ad esempio file di testo.
pwd: Stampa a terminale la cartella di lavoro
Cosa fa?
Mostra il path della cartella corrente, per identificare la posizione in cui ci si trova.
Sintassi base:
$ pwd ↵
/home/user
Torna a indice: Indice dei comandi
ls: Informazioni su file e cartelle
Cosa fa?
Questo comando è utilizzato per visualizzare il contenuto della cartella corrente (di default).
Di base il comando restituisce le cartelle, non nascoste all’interno della cartella corrente.
Sintassi base:
$ ls ↵
Documenti Immagini Modelli Musica Nextcloud Pubblici Scaricati Scrivania Video yay
Opzioni comuni:
Questo comando contiene alcune opzioni utili che possono essere utilizzati per associare funzionalità aggiuntive che consentono ad esempio:
ls -a(visualizza anche i file e cartelle nascoste)ls -l(mostra i permessi e il proprietario di file e cartelle)ls -g(raggruppa le cartelle prima dei file)ls -h(human readeble, associata ad -l mostra la dimensione dei file in modo “leggibile”)ls -S(ordina file e cartelle a secondo la dimensione)ls --version(mostra la versione installata)

per accedere all’help del comando basta basta scrivere sul terminale:
$ ls --help↵
Torna a indice: Indice dei comandi
cd: Spostarsi tra le cartelle
Cosa fa?
Questo comando consente di muoversi tra le cartelle all’interno del terminale.
Sintassi base:
- Accesso ad una determinata cartella all’interno del path corrente:
$ cd nome_cartella ↵
- Tornare alla cartella precedente (salendo di un livello)
$ cd .. ↵
o in alternativa anche:
$ cd -
Tornare alla cartella principale, es. la cartella utente (/home/username)
$ cd ↵
- Infine per tornare alla cartella utente:
$ cd ~
Torna a indice: Indice dei comandi
Operazioni su file e cartelle
In questa sezione vediamo alcuni comandi basilari, utili per eseguire operazioni su file e cartelle, ad esempio creare cartelle, rimuoverle, oppure copiare file, ecc.
mkdir: Creare una cartella
Cosa fa?
questo comando è utilizzato per creare nuove cartelle vuote all’interno della cartella corrente.
Sintassi base:
$ mkdir nome_cartella ↵
L’output del comando non è però “parlante” quindi per sapere se l’operazione è stata eseguita con successo bisogna verificare, ad esempio con ls. Per questo motivo consiglio di utilizzare l’opzione verbose per avere un print dell’operazione eseguita.
$ mkdir -v nome_cartella
Opzioni comuni:
Una delle opzioni più comuni è l’opzione -p, che consente di creare una struttura di cartella annidata con un solo comando.
$ mkdir -p path/subpath
per altre informazioni, consultare l’help del comando: mkdir --help
Torna a indice: Indice dei comandi
rmdir: Cancellare una cartella
Cosa fa?
questo comando serve ad eliminare una cartella, quindi ha un utilizzo simile al comando mkdir.
Sintassi base:
$ rmdir nome_cartella ↵
per altre informazioni, consultare l’help del comando: rmdir --help
Torna a indice: Indice dei comandi
touch: modificare la data di accesso ai file o creare file vuoti
Cosa fa?
Questo comando consente di modificare la data di accesso/creazione/modifica dei file alla data corrente. Inoltre il comando può essere utilizzato per creare dei nuovi file vuoti.
Sintassi base:
Per creare un file vuoto, utilizzare il seguente comando:
$ touch nome_file.ext ↵
Dove .ext rappresenta l’estensione che volete dare al file.
Per la modifica delle date di accesso, possono essere utilizzati i seguenti comandi:
# Modifica solo l'orario di accesso alla data corrente
$ touch -a nome_file
# Modifica solo l'orario di modifica alla data corrente
$ touch -m nome_file
per altre informazioni, consultare l’help del comando: touch --help
Torna a indice: Indice dei comandi
cp: copiare file o cartelle
Cosa fa?
Questo comando consente tramite il terminale di eseguire la copia di file e cartella all’interno del sistema.
Sintassi base:
Un esempio base di utilizzo per copiare un file:
$ cp [origine] [destinazione]
L’origine può essere sia un file che una cartella, mentre la destinazione è sempre una cartella.

Per copiare una cartella invece, bisogna utilizzare l’opzione -r, quindi il comando diventa:
$ cp -r [origine] [destinazione]
Opzioni comuni:
Alcune delle altre opzioni possibili sono:
- Copiare mostrando un prompt che vi guida durante il processo:
$ cp -i [origine] [destinazione]
- Creare collegamenti fisici, piuttosto che copiare realmente il file:
$ cp -l [source] [destination]
- Creare collegamenti simbolici, piuttosto che copiare il file:
$ cp -s [source] [destination]
- Copiare solo se il file di origine è il più recente dei 2:
$ cp -u file1 file2
Infine, è possibile anche utilizzare l’opzione -v (verbose) per avere il print passo passo dell’operazione eseguita.
per altre informazioni, consultare l’help del comando: cp --help
Torna a indice: Indice dei comandi
mv: Spostare file e cartelle o rinominarle
Cosa fa?
Questo comando serve per spostare sposta o rinomina un file o una cartella.
Sintassi base:
Per postare ad esempio un file/cartella si può utilizzare:
$ mv [origine] [destinazione]
Dove l’origine o la destinazione possono corrispondere a file o cartelle a seconda dell’operazione che si sta effettuando.
Per eseguire il comando di rinomina invece, l’origine e la destinazione coincidono ma con nomi diversi, ad esempio:
$ mv [origine] [origine1]

per altre informazioni, consultare l’help del comando: mv --help
Torna a indice: Indice dei comandi
rm: rimuovere/cancellare file o cartella
Cosa fa?
Questo comando è utilizzato per eliminare file o cartelle.
Sintassi base:
Per eliminare un file può essere utilizzato ad esempio:
$ rm nome_file.ext
Invece per eliminare una cartella, bisogna utilizzare l’opzione -r, ad esempio:
$ rm -r nome_cartella
Opzioni comuni:
Visto che la cancellazione è irreversibile, un opzione utile durante la cancellazione e -i, quest’opzione consente di eseguire i passaggi in modo interattivo, avendo la possibilità di annullare se necessario.
$ rm -ri nome_file/cartella
per altre informazioni, consultare l’help del comando: rm --help
Torna a indice: Indice dei comandi
QuickTip: Premi il tasto "TAB” per autocompletare nomi di file e cartelle.
Digita “history” 😉
Visualizzazione del contenuto dei file sul terminale (esempio txt, log, ecc.)
I seguenti comandi, hanno lo scopo di visualizzare il contenuto dei file. Sono quindi comandi molto utili ad esempio quando si vogliono analizzare file di log, o ad esempio file di testo.
Questi comandi eseguono il print sul terminale di qualsiasi file, ma non tutti i file saranno direttamente leggibili e interpretabili a meno che non siano dei file di testo.
cat: concatena
Cosa fa?
Questo comando esegue il print di tutto il file all’interno del terminale.
Sintassi base:
$ cat nome_file.ext

cat su file di testoper altre informazioni, consultare l’help del comando: cat --help
Torna a indice: Indice dei comandi
less: Stampa il file ma con vista formattata
Cosa fa?
come il comando cat precedente, esegue il print nel terminale del contenuto del file, ma in questo caso è possibile scorrerlo per pagine.
Sintassi base:
$ less nomefile.ext
Per uscire dal comando bisogna premere il tasto q
per altre informazioni, consultare l’help del comando: less --help
Torna a indice: Indice dei comandi
head & tail: Stampa le prime o ultime righe del file
Cosa fa?
I due comandi sono utilizzati per visualizzare (head) le prime 10 righe del file o (tail) le ultime 10.
Sintassi base:
Un esempio di utilizzo base per visualizzare le prime 10 righe è il seguente:
$ head nomefile
Mentre per visualizzare le ultime 10 righe:
$ tail nomefile
Opzioni comuni:
Questo comando ha un utile opzione che può essere utilizzata ad esempio quando si analizzano file di .log in corso di scrittura, infatti l’opzione -f segue la crescita del file e continua a visualizzare le nuove righe man mano vengono aggiunte.
$ tail -f nomefile
Entrambi i comandi hanno l’opzione –help per avere ulteriori informazioni sull’utilizzo.
Torna a indice: Indice dei comandi
$ FINE LEZIONE 1 $
Questi comandi costituiscono la base di qualunque attività da terminale.
Nel prossimo articolo vedremo come gestire file di testo, usare pipe e reindirizzamenti, e automatizzare operazioni semplici.

