Nel precedente articolo abbiamo descritto come si è svolta un’operazione di Trashware all’ITIS Merloni-Miliani di Fabriano e abbiamo accennato di aver assegnato alle macchine recuperate un nome – un hostname – corrispondente ad alcuni comandi da terminale GNU/Linux.
In questo post descriveremo brevemente alcuni dei comandi utilizzati:
man: fondamentale per la visualizzazione di informazioni su altri comandi. Ad esempio $ man ls
fornisce la spiegazione e le istruzioni per utilizzare il comando ls, $ man grep
fornisce la spiegazione e le istruzioni per utilizzare il comando grep. E così via. Questa è la cosiddetta documentazione tecnica e leggerla quando abbiamo dubbi o necessità di informazioni è molto più istruttiva, anche se meno immediata, di molti blog o forum che online mostrano semplicemente la soluzione al problema, senza spiegare le motivazioni di tali soluzioni. L’esperienza degli esperti amministratori di sistema è che leggere la documentazione tecnica, nel medio e lungo termine “paga”. Perciò noi consigliamo di risolvere almeno un problema su cinque leggendo il man e imparando quindi a leggerne solo le parti che servono (alcune pagine possono essere infatti molto lunghe). Domanda per il lettore: quale comando si userà per ottenere la descrizione del comando man
e le relative istruzioni d’uso?
ping: invia dei pacchetti “speciali” (di tipo ICMP) ad un host remoto ed attende che questo li rispedisca indietro.
L’output del comando ci mostra diverse informazioni utili:
- se l’host sta rispondendo ai nostri pacchetti e quindi risulta online
- l’indirizzo IP dell’host remoto
- il Round Trip Time (RTT), ovvero il tempo che impiegano i pacchetti che partono dal nostro PC a raggiungere l’host remoto e tornare indietro. Questo è utile per capire la qualità della nostra connessione e la “distanza” che separa il nostro PC dall’host remoto.
$ ping fsf.org
PING fsf.org (208.118.235.174) 56(84) bytes of data.
64 bytes from www.fsf.org (208.118.235.174): icmp_seq=1 ttl=50 time=94.9 ms
In questo esempio abbiamo effettuato il ping del server della Free Software Foundation.
I nostri pacchetti impiegano solamente 94.9 millisecondi a raggiungere il server a Boston e tornare indietro!
dmesg: permette di consultare i messaggi inviati dal kernel che è il nucleo del nostro operativo (infatti dmesg sta per display message).
Questi messaggi vengono mandati durante il boot e/o quando viene rilevato un nuovo dispositivo e sono immagazzinati in una speciale memoria temporanea (in gergo buffer).
Con il comando dmesg (senza opzioni) il contenuto di questo buffer viene visualizzato a video, ma di solito le righe sono troppe, per questo viene usato con comandi come less (ad es: dmesg | less
) o grep per cercare informazioni più precise (ad es: dmesg | grep sdb
quando si inserisce una chiavetta USB).
Se si hanno problemi questo è sicuramente un comando da ricordare!
ls: è un comando fondamentale dei sistemi operativi di tipo Unix. Esso elenca informazioni su file ed il contenuto delle directory. Qui di seguito alcune utili opzioni da usare con questo comando:
ls -l
: produce un elenco esteso, ogni file o directory occupa una rigals -a
: include nell’elenco anche i files nascosti (quelli che iniziano con il punto)ls -d
: include le informazione delle directories senza mostrarne il contenuto
Sostanzialmente ls è un comando di assoluta importanza per il mondo Linux!
cd: è l’abbreviazione dalla lingua inglese di change directory, cambia directory. Esso è un comando interno delle shell testuali che cambia la directory (o cartella) corrente posizionandoci nella directory di destinazione. Il comando può avere anche degli utilizzi più specifici, come questi elencati di seguito:
cd /etc
: imposta /etc come nuova directory correntecd ..
: sale di un livello nella gerarchia delle directorycd
: va nella directory specificata dalla variabile d’ambiente HOME, che normalmente è la home directory dell’utente
du: è l’abbreviazione dalla lingua inglese di disk usage, utilizzo del disco. Questo è un comando che calcola e mostra a video il totale dello spazio occupato dai file o directory specificatenel file system (per le directory è conteggiato ricorsivamente anche lo spazio occupato dai file e dalle subdirectory che esse contengono).
È da notare che il totale può essere diverso (tipicamente inferiore) dalla somma delle dimensioni di ogni singolo file come riportato dal comando ls, in quanto ciò che viene preso in considerazione è lo spazio occupato nel file system, che nei casi di file sparsi può anche essere notevolmente inferiore alle dimensioni dichiarate.