L’OM digitale, nelle sue sperimentazioni (e tanti articoli sul nostro sito lo dimostrano) deve spesso avere a che fare con istruzioni “a linea di comando” da dare a quell’ultra-nano-microcomputer tascabile (si sa qual’è) ormai presente in quasi tutte le realizzazioni hand-made. Operazioni semplici – ad esempio copiare o spostare un file, eseguire comandi come Superuser, inserire in una memoria microSD il file “immagine” di un sistema operativo dedicato – richiedono la scrittura di semplici nomi al “prompt” – il carattere all’inizio della riga che può essere un “$” o un “#” – ma che sono sconosciuti a tanti che smanettano sul Raspberry Pi o su qualsiasi altro sistema basato su Linux.
Della serie, ho fatto ciò che ho letto nel sito, il dispositivo funziona ma vorrei anche sapere che cos’è che ho fatto e perché…
Una premessa. Linux prevede dei “livelli di sicurezza” per evitare che un utente possa accedere e magari causare danni a parti del sistema operativo, a tale scopo solo alle proprie aree di lavoro vengono dati i “privilegi” di lettura e scrittura di file o cartelle.
In particolari casi però è necessario operare come SuperUser; specie per noi quando dobbiamo modificare qualche configurazione nel Raspberry o installare nuovi programmi. Ed ecco allora questo utile (e pericoloso) comando, che permette il “salto di sponda” in caso di necessità.
sudo (ovvero: fare il SuperUser), digitato prima di qualsiasi altro comando, permette di eseguirlo con i privilegi di root ovvero di amministratore del sistema: installare programmi, modificare parametri nei file di servizio del Raspberry, ricopiare o spostare file o cartelle su aree a cui all’utente normale non è ammessa la scrittura.
Se come SuperUser occorre dare più comandi di seguito, è utile digitare inizialmente sudo -s: compare il prompt “#” e da questo momento si diventa root… occhio eh!
Dare alla fine exit per ritornare alla condizione di semplice utente.
Comandi di uso comune
ls → è il classico comando “dir” ben conosciuto in altri ambienti operativi e mostra la lista dei file nella cartella. La variante ls -l li mostra nel dettaglio (anche con i flag dei “permessi” – vedi più sotto).
cp <sorgente> <destinazione> → duplica un file con altro nome o copia un file su un’altra cartella
mv <sorgente> < destinazione> → muove un file su un’altra cartella o rinomina il file
Esempio: copia verso Documents (cartella di propria pertinenza) o sulla propria area Home:
Qui invece si tenta di ricopiare il file su una cartella su cui non si hanno i privilegi (/usr/local/bin, è una cartella di sistema):
Mentre qui la copia è possibile se si diventa SuperUser (ma mi raccomando, è solo un esempio!):
Per creare o editare un file
Alcuni comandi sono utili per creare o modificare file di testo (per dire, possono ricordare il Notepad di Windows ma come sempre qua, “a linea di comando”); quello che di solito si usa nei nostri smanettamenti si chiama nano:
nano <nome del file>
Si apre l’area di editing (e se il file è creato l’area è vuota) e l’uso è estremamente semplice: scrivete!
Per terminare, come si vede dal piccolo menu in basso, occorre dare <ctrl>x (il carattere “x” contemporaneamente al tasto Ctrl). Se si sono fatte delle modifiche, appare una piccola finestra per selezionare se salvare il file o no.
Altre opzioni, nei nostri casi, non sono necessarie.
Rendere eseguibile un file (esempio, dopo avere editato uno script)
chmod <nome del file> → cambia i “permessi” del file. Un esempio: li cambiamo da “file_di_prova”
Qui inizialmente il file ha i soli permessi di lettura/scrittura (per l’utente proprietario) e di sola lettura per tutti gli altri. Vengono poi dati i permessi di esecuzione e scrittura via via al proprietario, al gruppo di appartenenza e a tutti gli utenti.
Ma vediamo nel dettaglio:
I caratteri a sinistra corrispondono rispettivamente a:
- Tipo di file (esempio “d” se è una cartella)
- Permesso di lettura al proprietario
- Permesso di scrittura al proprietario
- Permesso di esecuzione al proprietario
- Permesso di lettura agli utenti del gruppo
- Permesso di scrittura agli utenti del gruppo
- Permesso di esecuzione agli utenti del gruppo
- Permesso di lettura per tutti gli utenti
- Permesso di scrittura per tutti gli utenti
- Permesso di esecuzione per tutti gli utenti
mentre gli ultimi due campi mostrano rispettivamente il nome dell’utente proprietario e il gruppo di appartenenza.
Guardando i vari campi di validazione dei permessi, si conclude che nel nostro esempio le singole cifre nel comando chmod (qui 5 e 7) sono la rappresentazione, in codice ottale, dei singoli gruppi di 3 campi rispettivamente del proprietario, del gruppo o di tutti gli utenti.
N.B. Uno script è in pratica un insieme di comandi o di istruzioni racchiusi in un file; rendendolo eseguibile, i comandi al suo interno vengono eseguiti in sequenza.
Per contatti: ik5fka@gmail.com Roberto (Gruppo Radio Firenze)
[ratings]