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:

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)
Esempio di utilizzo di “ls” con opzione l + h

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.

Esempio di copia di un file dalla cartella “ciao” alla cartella utente (gaetano).

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]
Esempio su come rinominare un file.

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
Esempio del comando cat su file di testo

per 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *