Comandi di base per la gestione del file system
Ho introdotto nell'articolo precedente, consultabile qui, i concetti base relativi al mondo del pinguino. Oggi andiamo a vedere alcune operazioni di base che si possono svolgere mediante linea di comando su un sistema Ubuntu-like.
Che cos'è la linea di comando?
Shell, terminale e riga di comando sono termini che indicano un dispositivo a interfaccia testuale. Può servire a svolgere gran parte delle mansioni in un sistema operativo: muoversi attraverso il file system gestirlo, scaricare, installare o rimuovere programmi, per configurare l'hardware, per creare script e molte altre cose.
Fondamentalmente è un modo alternativo alla comune interfaccia grafica per gestire la macchina. Infatti possiamo svolgere esattamente tutte le operazioni che svolgiamo mediante interfaccia grafica utilizzando la linea di comando.
Tipicamente, un normale terminale Ubuntu si presenta così.
Vediamo alcune operazioni che si possono svolgere mediante terminale.
Come avvio il terminale?
Abbiamo due modi per utilizzare il terminale: avviare la macchina in modalità terminale oppure avviare la shell da interfaccia grafica.
Per avviarlo da interfaccia grafica:
- Ubuntu 18.04 e successivi: selezionare il menù delle applicazioni e digitare terminale;
- Rilasci precedenti: selezionare il pulsante Ubuntu e digitare terminale;
Manuale e sintassi dei comandi
Quando ci troviamo a digitare comandi, può capitare che non ci si ricordi la sintassi o la funzione di alcune opzioni che si possono passare. In tal caso ci vengono in soccorso due comandi: man
e help
.
help
Il comando help
è quello atto a ricordarci la sintassi del comando che stiamo utilizzando. Vediamo come si usa.
ls --help
è la guida che spiega la sintassi del comando ls
;
ls --help | less
: consente di visualizzare la guida del comando ls su più pagine video;
man
Il comando man
ci mostra le pagine del manuale relativo al comando che vogliamo utilizzare, nel caso in cui esista.
Ci basterà scrivere:
man <comando>
dove con <comando> si intende il comando di cui vogliamo consultare la pagina di manuale.
Navigazione attraverso il file system
Dobbiamo prima di tutto capire com'è strutturato il file system in ambiente Ubuntu. In questo ambiente il file system è rappresentato come un albero, la cui radice (root) è il nodo padre di tutti.
Mediante linea di comando possiamo anche scorrere in lungo e in largo il nostro file system. Il comando che ci viene in soccorso è cd
. Vediamo come funziona.
cd Desktop
se la directory corrente è home ci porta nella cartella Desktop. Generalmente possiamo sostituire Desktop con il nome di qualsiasi directory purchè sia una sotto-directory di quella in cui ci troviamo. in alternativa ci troviamo obbligati ad utilizzare un path assoluto per raggiungere la cartella;cd ..
ci permette di spostarci dalla directory in cui ci troviamo alla directory padre;cd /directory
da qualunque cartella ci troviamo ci permette di spostarci nella cartella directory;cd ~
oppurecd
porta nella directory home dell'utente;cd -
porta nella directory precedente;
Mostrare la cartella corrente
pwd
mostra la cartella corrente in cui ci troviamo.
Mostrare il contenuto di una cartella
Nel momento in cui vogliamo comnsultare il contenuto di una cartella, il comando ls
ci viene in soccorso. Vediamo alcuni esempi di utilizzo.
ls -l
mostra il contenuto della cartella in formato lungo;ls -la
mostra il contenuto della cartella in formato lungo includendo i file nascosti;ls -S
mostra la lista dei file ordinati in base alla dimensione;ls -X
mostra la lista dei file ordinati in base alla loro estensione;
Copiare file e directory
In questo caso il comando che giunge in nostro soccorso è il comando cp
. Vediamo come si usa.
cp file1 cart1
copia il file chiamato file1 nella cartella cart1. Possiamo anche utilizzare i path, assoluti o relativi che siano, di entrambi gli elementi;cp -r cart1 cart2
copia tutto il contenuto della cartella cart1 nella cartella cart2;sudo cp -a cart1 cart2
copia tutta la directory cart1 dentro a cart2 mantenendo gli stessi permessi e le informazioni su data e ora di creazione
Muovere o rinominare file e cartelle
Il comando che utilizziamo è il comando mv
.
mv vecchio nuovo
rinomina il file vecchio in nuovo;mv file1 cart1
muove il file file1 dentro la cartella cart1;
Rimuovere file e cartelle, creare cartelle
Il comando che utilizziamo è rm
.
Vediamo come si usa.
rm file1 file2 ...
rimuove i file file1, file2 e tutti gli altri elencati dopo;rm *.*
rimuove tutto il contenuto della directory corrente. Va usato con cautela! Il comando si può modificare scrivendorm *.estensione
rimuovendo tutti i file con estensione .estensione;rm -rf cart1
rimuove tutto il contenuto della cartella cart1;
Nel caso in cui volessimo rimuovere una cartella, purchè vuota, useremo il comando rmdir cartella
.
Nel caso in cui volessimo creare una cartella, utilizzeremo il comando mkdir cartella
, creando così una directory vuota chiamata cartella.
Visualizzare il contenuto di file
Il comando che ci permette di visualizzare il contenuto di uno o più files è il comando cat
. Vediamone alcuni esempi. E' buona norma scrivere esplicitamente l'estensione del file, al fine di evitare ambiguità tra eventuali file con lo stesso nome ma estensione diversa.
cat file
mostra il contenuto del file denominato file;cat file1 file2 > file3
crea il file file3 che contiene il contenuto di file1 e file2;cat file1 file2 >> file3
aggiunge a file3 il contenuto di file1 e file2;tac file
visualizza il contenuto di file ma in ordine inverso;
Se vogliamo visualizzare il contenuto di un file su più pagine video non ricorreremo al comando cat
ma al comando more
. Il tasto di Invio fa avanzare la visualizzazione riga per riga mentre la barra spaziatrice fa avanzare di pagine video
- se vogliamo visualizzare il contenuto di un file su più pagine video scriveremo
more file
; - se vogliamo visualizzare il contenuto di una directory su più pagine video scriveremo
ls -l | more
;
Se invece vogliamo visualizzare il contenuto di file o directory sempre su più pagine video ma con la possibilità di scorrerlo avanti e indietro utilizzeremo il comando less
.Per interrompere utilizzare CTRL+Z.
less file
visualizza il contenuto del file1 in pagine video;ls -l | less
visualizza il contenuto della directory corrente in formato lungo su più pagine video;
Abbiamo dato una panoramica molto generale sui comandi di base di Ubuntu. Più avanti, affrontando altri aspetti del mondo del pinguino, introdurremo nuovi comandi. Per ora, sperimentate gente, sperimentate!