+1 500 000 prodotti nell’offerta

7000 pacchi giornalmente

+300 000 clienti da 150 paesi

Quick Buy Preferiti
Carrello

Comandi Linux per Raspberry Pi, che è necessario conoscere

Data di pubblicazione: 07-05-2025 🕒 23 min di lettura

L'inizio del lavoro con la console Linux non è facile: i comandi sembrano misteriosi, poco intuitivi, spesso addirittura volutamente complicati... Ma sono solo apparenze. Presentiamo il nostro piccolo introduzione all'uso di Raspberry Pi e Linux tramite il terminale.

Tra i profani circola l'opinione che Linux sia molto difficile da usare. Spesso e erroneamente questo diventa un motivo di riluttanza a iniziare a lavorare con Raspberry Pi. Pertanto, rispondiamo subito a tre domande:

Per usare Linux bisogna conoscere mille comandi, giusto?

Falso, per svolgere la maggior parte dei compiti bastano alcune decine di comandi descritti di seguito.

I comandi di Linux sono complicati e illeggibili, giusto?

Falso, per lo più sono semplicemente abbreviazioni, non più complicate di KFC o USD.

Linux richiede conoscenze avanzate sui computer, giusto?

Falso, il sistema ha una guida dettagliata integrata e una comunità utile.

Il mito dell'inaccessibilità di Linux deriva dal fatto che questo sistema è stato ottimizzato in modo eccellente, ma con un focus su prestazioni, accesso remoto e lavoro su dispositivi minimalisti. Questo è in contrasto con la filosofia che guida i sistemi Windows, Android o MacOS, con cui interagiamo quotidianamente. Qui la potenza di calcolo del processore e le risorse di memoria vengono consumate piuttosto liberamente (addirittura sprecate) per fornire all'utente un'interfaccia grafica accattivante, che (almeno in teoria) si traduce in un uso intuitivo del sistema.

Linux ha la stessa funzionalità dei suoi fratelli commerciali, ma per sua natura può funzionare su dispositivi la cui progettazione non prevede affatto il collegamento di un monitor o di una tastiera. Per utilizzare Linux è sufficiente una porta di comunicazione, ad esempio una porta Ethernet o un'interfaccia seriale UART, e un programma terminale avviato su un dispositivo esterno (può essere un laptop, uno smartphone, un tablet, ecc.). Analogamente, l'interazione con il sistema apparirà nel caso della versione Lite del sistema Raspberry Pi OS. Dopo aver avviato il computer, sul monitor vedremo solo una riga di comando. Possiamo anche richiamarla in un ambiente grafico Linux, selezionando il programma della console dal menu di avvio.

Quindi: davanti a noi c'è uno schermo nero della console, un segno di invito e un cursore che lampeggia impaziente... e ora?

In questo articolo rispondiamo a domande come:

I primi passi

Iniziamo con un comando che non richiede conoscenze aggiuntive su Linux.

date (letteralmente)

Il comando date restituisce la data e l'ora attuali del sistema.

Tuttavia, oltre alla sua funzione di base, come la maggior parte dei comandi della console, offre molte più possibilità. Ad esempio, fornisce l'ora in una località specifica. A tal fine, prima del comando, inseriamo un parametro che indica il fuso orario (time zone), regione e città (ad esempio, TZ=Europe/Kyiv date).

Abbiamo anche la possibilità di scegliere il formato della data e dell'ora. Questo viene imposto aggiungendo al comando il segno più e una stringa di caratteri riempiti con segnaposto. Ce ne sono una dozzina, ad esempio %H indica l'ora, %M i minuti, %S i secondi.

Comandi del terminale e acquisizione di informazioni

Come si può vedere, tutta l'arte consiste nella conoscenza dei comandi e nell'abituarsi a lavorare in modalità testuale. Ma già all'inizio iniziamo a semplificarci la vita.

clear

Il comando clear serve a pulire il terminale, che a volte si riempie di centinaia di righe di testo e diventa difficile navigare (anche usando la barra laterale, che non sarà sempre disponibile). Alcuni utenti principianti temono di "perdere" i progressi del loro lavoro, ma questo è uno stress del tutto inutile, perché...

history

Non dobbiamo ricordare tutti i comandi che abbiamo digitato di recente nel terminale. Né tantomeno riscriverli in caso di errori di battitura. Premendo la freccia su, richiameremo l'ultimo comando utilizzato. Premendo di nuovo la freccia, richiameremo il precedente, ancora prima, ecc. Se ci capita di cercare un comando utilizzato un po' di tempo fa, possiamo sempre usare il comando history, che mostrerà un elenco di tutti i comandi della sessione:

alias

Un'altra scorciatoia utile, che si rivela utile per eseguire operazioni complesse, è l'aliasing, ovvero la creazione di un proprio comando, dietro il quale si nasconde un'operazione più complessa. È sufficiente fornire un nome sostitutivo e (tra virgolette) una stringa di comandi che verrà richiamata. Ad esempio, alias kyiv="TZ=Europe/Kyiv date" farà sì che ogni volta che digitiamo "kyiv", la console reagisca come se avesse ricevuto il comando completo.

help

Abbiamo già accennato al fatto che anche i comandi più semplici di Linux, come date, hanno funzionalità avanzate. L'accesso a tutte le possibilità si ottiene utilizzando switch/opzioni e parametri.

Sorge la domanda: come sapere quali opzioni offre un determinato comando e come usarle? Dobbiamo cercare informazioni sui comandi su Internet ogni volta? Tranquilli. Tutti i comandi in Linux sono documentati, e la documentazione è contenuta nel sistema. Il metodo più semplice per ottenere informazioni è aggiungere l'opzione --help dopo il nome del comando.

Come si può vedere, in questo modo scopriremo a cosa serve e quale sintassi ha un determinato comando, quali opzioni/parametri accetta, ecc.

man (manual)

Informazioni ancora più dettagliate sui comandi di Linux sono disponibili nel database di istruzioni integrato (manuals). Le visualizziamo digitando man seguito dal nome del comando di nostro interesse, ad esempio man date.

Per uscire dal programma (che per impostazione predefinita riempie l'intera finestra del terminale) premiamo q. Vale la pena notare che la maggior parte dei programmi che funzionano nella console si interrompe e si chiude premendo q, la combinazione Ctrl+C o Ctrl+X.

Va anche sottolineato che la base di conoscenza contenuta nelle istruzioni di Linux va ben oltre la descrizione di alcuni comandi, includendo anche informazioni sulle funzioni del linguaggio C, le convenzioni di denominazione, ecc. Se chiediamo, letteralmente, un'istruzione per l'istruzione (digitando man man), vedremo, tra le altre cose, un elenco delle sezioni in cui sono suddivise le risorse di aiuto:

apropos

Se vogliamo cercare nel database di informazioni un argomento specifico, possiamo usare il comando apropos (dalla frase francese á propos). Il sistema ci fornirà un elenco di tutte le voci correlate trovate nel database (il numero tra parentesi indica il numero della sezione):

uname (unix name)

Se accediamo a un dispositivo da remoto, ad esempio tramite una rete LAN, e sappiamo poco sulla sua struttura o sulla versione del sistema, possiamo ottenere informazioni utilizzando il comando uname. Nella sua forma senza opzioni aggiuntive, mostrerà solo il nome del sistema (Linux), ma digitando uname -a (da all) scopriremo: il nome del kernel, il nome della risorsa di rete, la versione del kernel e la data di rilascio, il processore (nel caso del Raspberry Pi sarà una delle versioni ARM) e il nome del sistema operativo (GNU/Linux).

Sulla struttura delle cartelle in Linux

Non ci sarà spazio qui per descrivere completamente il file system di Linux, soprattutto perché un file può essere, ad esempio, una rappresentazione simbolica di un componente del computer, un'interfaccia, ecc. Tuttavia, prima di passare ai comandi relativi alle operazioni su file e cartelle, dovremmo dare almeno un'occhiata a questa struttura. Nella ramificazione di base del file system troviamo le seguenti cartelle:

  • / – la directory principale (root directory), a differenza dell'ordine noto, ad esempio, dal sistema Windows, “/” non si riferisce alla memoria fisica, rappresenta il livello più basso nella struttura simbolica (ogni disco o memoria ha il proprio posto nelle rispettive sottocartelle, di cui parleremo tra poco)
  • /bin – da binaries, ovvero la cartella dei file binari di base (programmi) richiesti dal sistema e disponibili per gli utenti
  • /boot – file necessari per avviare (booting) il sistema
  • /dev – luogo in cui si trovano rappresentazioni simboliche dei dispositivi (devices), come dischi, interfacce, memorie, ecc.
  • /etc – spesso letto come il latino et cetera, anche se la funzione di questa directory è meglio spiegata dalle frasi inglesi everything to configure o editable text configurations, poiché serve a memorizzare file di configurazione modificabili
  • /home – luogo di archiviazione dei file locali appartenenti ai singoli utenti, ognuno ha la propria sottocartella, a cui il suo contenuto (a meno che non abbia diritti di amministratore) è limitato dai suoi permessi
  • /lib – luogo di archiviazione delle librerie (libraries) richieste dai programmi collocati nelle cartelle /bin e /sbin
  • /lost+found – quando il sistema viene avviato dopo un'interruzione di corrente, tutti i file danneggiati (non chiusi) verranno collocati qui
  • /media – luogo di montaggio (mount), ovvero la condivisione per l'uso del sistema, di file system esterni, ad esempio il contenuto di una memoria portatile collegata tramite USB
  • /mnt – mentre nella cartella “/media” i file system esterni vengono montati automaticamente, mnt (mount) è destinato ad essere un luogo di lavoro per l'amministratore di sistema
  • /opt – pacchetti software opzionali (optional), principalmente non provenienti da fonti ufficiali, sperimentali, ecc.
  • /proc – il contenuto di questa cartella è costituito esclusivamente da file che rappresentano processi (processes) e funzioni del sistema
  • /root – file di proprietà dell'amministratore, chiamato in Linux root (l'amministratore non ha il proprio posto nella cartella “/home”)
  • /run – luogo di archiviazione dei dati temporanei utilizzati/condivisi dai processi in esecuzione (run-time)
  • /sbin – da system binaries, ovvero programmi critici per il funzionamento del sistema disponibili solo per l'amministratore
  • /srv – luogo di archiviazione dei dati utilizzati dai servizi (services)
  • /sys – questa cartella contiene rappresentazioni virtuali ordinate di dispositivi, driver e componenti del kernel del sistema, facilitando all'amministratore il monitoraggio del funzionamento del dispositivo
  • /tmp – file temporanei (temporary) creati da qualsiasi software, questi dati vengono periodicamente cancellati (ad esempio durante il riavvio del sistema)
  • /usr – luogo di archiviazione di programmi opzionali richiesti dagli utenti (users), e non dal sistema (a differenza di /bin e /sbin)
  • /var – cartella in cui sono raccolti elementi variabili (variable) del software, ad esempio log, dati diagnostici, file creati da database

Muoversi nel file system è un'abilità fondamentale, il cui dominio ci permetterà di sentirci più sicuri nell'ambiente Linux. Anche se esistono vari strumenti che facilitano l'esplorazione, la copia e altre operazioni sui file, la conoscenza dei comandi si rivela spesso indispensabile, specialmente nella creazione di script propri.

pwd (print working directory)

Durante la navigazione nel file system ci muoviamo tra le cartelle: il luogo in cui ci troviamo attualmente si chiama directory di lavoro. Per ricordare la nostra posizione attuale utilizziamo il comando pwd.

ls (list)

Il comando ls serve a visualizzare un elenco di file e directory nella posizione attuale. Le opzioni di questa funzione offrono vari metodi di formattazione dell'output, ad esempio ls -1 produce un elenco in una sola colonna, e l'opzione -s (size) aggiunge la dimensione dei singoli file (in kB, che può anche essere cambiata). Un'informazione ancora più completa sul contenuto della directory si ottiene digitando ls -l (long).

cd (change directory)

Per muoverci tra le cartelle utilizziamo il comando cd, seguito dal nome della cartella in cui vogliamo spostarci. Se si tratta di una sottocartella della directory di lavoro, è sufficiente fornire il suo nome. È anche possibile spostarsi in qualsiasi luogo del file system. In tal caso, è necessario fornire il percorso completo, ad esempio cd /home/pi/. Se vogliamo tornare indietro di un livello nella gerarchia, ad esempio dalla directory /home/pi a /home, dobbiamo digitare cd .. – è importante lasciare uno spazio tra il comando e i due punti.

df (disk free)

Per ottenere informazioni sui file system montati possiamo utilizzare lo strumento df. Indicherà in quale posizione possiamo accedere alle memorie collegate (schede SD, memorie USB, dischi rigidi, ecc.), e fornirà anche la quantità di spazio disponibile e occupato su ciascun supporto.

find

Il comando find serve a cercare file e cartelle. È il metodo più semplice per localizzare risorse. Dopo il comando possiamo fornire il percorso iniziale (il sistema considererà anche le cartelle sottostanti). Successivamente utilizziamo l'opzione -name, seguita dalla stringa di caratteri cercati nel nome dell'elemento. Usando l'asterisco, indichiamo qualsiasi parte del nome. Se quindi ci interessa un elenco di tutti i PDF nella cartella home, utilizzeremo il comando *find /home -name .pdf*.

Filtraggio e ordinamento

A questo punto siamo pronti per passare a operazioni più complesse, ovvero combinare comandi. Per semplificare, iniziamo con alcune funzioni utili, che poi uniremo in un unico comando più lungo.

cat (concatenate)

Il comando cat copia (concatenate) il contenuto di un file e lo visualizza come testo nel terminale. Se quindi vogliamo dare un'occhiata al file names.txt, basta digitare cat names.txt.

sort

Come suggerisce il nome, questo comando ordina i dati (di default in ordine alfabetico). Possiamo farlo specificando al programma un file specifico, ad esempio sort names.txt. Notiamo che il contenuto è identico a quello sopra, cambia solo l'ordine:

grep (global regular expression print)

Le espressioni regolari (regular expression) sono uno strumento potente che aiuta a domare ampie quantità di dati. In informatica, consentono di cercare frasi specifiche, strutture generalizzate, ecc. Nel caso della console di Linux, le espressioni regolari vengono più comunemente utilizzate per compiti piuttosto banali, ad esempio per filtrare elenchi. A tal fine, forniamo al comando la stringa desiderata e il set di dati da cercare (qui sarà il file names.txt). Se vogliamo trovare tutte le voci dell'elenco in cui appare la combinazione di lettere "an", digiteremo: grep an names.txt. Possiamo anche utilizzare altre espressioni più complesse (expression), grazie alle quali cercheremo casi contenenti ad esempio una delle due frasi. Per cercare le stringhe "an" O "ly", il comando sarebbe il seguente: grep -E "an|in" names.txt.

| (pipe)

Un'importante semplificazione del lavoro nella console di Linux è il pipe (il cosiddetto pipe), simboleggiato dal segno |. Questo fa sì che l'output di un comando venga passato come parametro al successivo. Le operazioni possono essere concatenate in una sola istruzione.

Usiamo il seguente esempio: leggiamo il file di testo con cat names.txt, filtriamo il suo contenuto con il comando grep y, lasciando solo le righe contenenti la lettera minuscola y; ordiniamo i risultati in ordine alfabetico utilizzando la funzione sort. L'intero comando sarà quindi: cat names.txt | grep y | sort.

more

Comandi come ls o cat tenteranno di visualizzare nella console ogni elenco o contenuto di file, indipendentemente dalla loro dimensione. Questo fa sì che, nel caso di lunghe sequenze di dati, vedremo solo le ultime righe:

Se vogliamo esaminare il contenuto "schermo per schermo", basta usare la funzione more. Si fermerà nel momento in cui la nostra finestra del terminale si riempie. Per continuare, premiamo invio (verrà caricata la successiva riga) o spazio (caricando l'intero schermo successivo). Pertanto, attenendoci all'esempio illustrato sopra, invece di cat numbers.txt useremmo il comando cat numbers.txt | more. Analogamente procederemo con altri elenchi lunghi, testi, ecc.

diff (difference)

Il comando diff indica le differenze tra due file/elenco – fornisce il luogo di insorgenza delle discrepanze e il loro contenuto:

Operazioni sul file system

È tempo di esaminare i comandi di base per creare, copiare e cancellare file e cartelle.

mkdir (make directory)

Creiamo una cartella con il comando mkdir. Può sorgere nella directory di lavoro, ma anche in qualsiasi altra posizione (a cui abbiamo accesso), se forniamo il percorso completo.

rmdir (remove directory)

L'eliminazione di una cartella vuota avviene utilizzando il comando rmdir. Se invece vogliamo eliminare una cartella insieme al suo contenuto...

rm (remove)

...applichiamo il comando rm. Serve per eliminare sia file che cartelle. Se stiamo cancellando una directory e desideriamo eliminare anche tutto il suo contenuto, dobbiamo utilizzare l'opzione rm -r (recursive), che eliminerà la cartella insieme ai file, sottocartelle, ecc. contenuti.

cp (copy)

Il funzionamento del comando cp, ovvero copia, è intuitivo: il primo parametro indica la sorgente, il secondo è l'elemento di destinazione.

mv (move)

Spostare file con il comando mv funziona analogamente alla copia, ma se la cartella sorgente e quella di destinazione sono le stesse (ad esempio, in entrambi i casi utilizziamo la directory di lavoro), non si verificherà uno spostamento, ma un cambio di nome del file.

touch

Il comando touch serve a creare un nuovo file vuoto. Se utilizziamo come parametro il nome di un file già esistente, il suo contenuto rimarrà invariato, mentre la data di modifica e l'ultimo accesso verranno aggiornati (da qui il nome "tocco", in inglese touch).

file

Utilizzando il comando file verifichiamo il tipo del file indicato nel parametro.

watch

Per monitorare un file o un altro oggetto in tempo reale, utilizziamo il comando watch. Sullo schermo apparirà un emulatore di terminale aggiornato periodicamente. In questo modo possiamo monitorare le modifiche che avvengono nella risorsa (ad esempio, watch test.txt), nel contenuto di una cartella (watch ls), ecc. Un'alternativa sarebbe richiamare manualmente, ciclicamente, un determinato comando.

Superuser, utenti e gruppi

Avendo già acquisito conoscenze sulla manipolazione di file e cartelle, occupiamoci della questione degli utenti e dei permessi. Iniziamo con uno dei comandi "più famosi" di Linux:

sudo (superuser do)

Superuser, ovvero superutente, è l'amministratore o root, che ha praticamente permessi illimitati. È importante sottolineare: sono effettivamente illimitati e i permessi amministrativi devono essere utilizzati con la massima cautela, non solo per motivi di sicurezza, ma anche per la possibilità di causare malfunzionamenti. Il primo utente che creiamo sul nostro Raspberry Pi riceve automaticamente i diritti per eseguire comandi con permessi di amministratore. Questo si ottiene precedendo il comando con sudo.

shutdown

Un esempio di comando accessibile solo all'amministratore è shutdown, ovvero il comando che chiude in modo sicuro il sistema e spegne la macchina. Di default, serve a pianificare lo spegnimento a un'ora specifica. Per spegnere immediatamente il computer utilizziamo l'opzione -h (da hour) e specifichiamo il tempo come now.

Pertanto, il nostro comando completo sarà: sudo shutdown -h now.

Attenzione: se utilizziamo un terminale remoto, subito dopo aver dato il comando la connessione verrà chiusa.

su (switch/substitute user)

Utilizziamo la funzione su per eseguire un comando come un altro utente. È un metodo utile, soprattutto per l'amministratore, ad esempio per testare i permessi concessi a determinati utenti.

useradd (user add)

Per creare un nuovo account utente, utilizziamo il comando useradd.

passwd (password)

Il nuovo account utente creato è completamente vuoto, non ha né password né directory home. Impostiamo la password utilizzando il comando passwd, seguito dal nome dell'account. Ci verrà chiesto di inserire e ripetere la password nei passaggi successivi. Se vogliamo cambiare la nostra password, basta digitare il comando passwd.

userdel (user delete)

L'eliminazione di un account utente avviene utilizzando il comando userdel. Naturalmente: per funzionare correttamente, deve essere eseguito con i diritti di amministratore.

Lavorare con i gruppi

I gruppi di utenti in Linux sono una funzionalità utile. Grazie a essa non dobbiamo preoccuparci dei permessi concessi a singole persone che utilizzano il sistema (cosa che sarebbe problematica nel caso di condivisioni di rete, scolastiche, d'ufficio, ecc.). Invece, è sufficiente raggruppare gli utenti in un gruppo, il che consente di controllare simultaneamente i permessi concessi a tutti i suoi membri.

groups

Digitando il comando groups, otterremo un elenco di tutti i gruppi a cui appartiene il nostro account. Se vogliamo conoscere tutti i gruppi attualmente disponibili nel sistema, basta dare un'occhiata al file /etc/group.

Vale la pena notare che il primo utente creato nel sistema Raspberry Pi OS non solo riceve diritti per azioni amministrative, ma ha anche accesso alle uscite hardware, come GPIO, interfaccia I2C e SPI.

Altri comandi di gruppo

Altri comandi relativi ai gruppi, come groupadd, groupdel (group delete), groupmod (group modify), consentono di creare, modificare e cancellare gruppi e i loro permessi. Tuttavia, si tratta di compiti amministrativi più complessi, che non affronteremo qui. Nella pratica dell'uso di Raspberry Pi e nell'esecuzione di progetti con il suo aiuto, raramente si presenta la necessità di occuparsi dei gruppi.

Permessi

I permessi in Linux sono molto importanti, poiché costituiscono la base per la protezione delle risorse del sistema. Ogni file e cartella ha un insieme di permessi per tre tipi di utenti:

  1. per il proprio proprietario,
  2. per i membri del gruppo a cui è assegnato;
  3. per gli altri utenti.

Se eseguiamo il comando ls con il parametro -l (long), vedremo una descrizione dettagliata dei permessi per tutti gli elementi nella cartella:

L'elenco è suddiviso in 9 colonne. La prima la commenteremo tra poco. Le successive sono: il numero di collegamenti (riguarda ad esempio il numero di sottocartelle); il proprietario del file; il gruppo che possiede l'oggetto; la dimensione in byte; mese, giorno e ora dell'ultima modifica; nome dell'oggetto.

Esaminiamo le informazioni poste all'inizio di ogni riga. Il primo carattere indica il tipo di elemento: - è un file normale, d è una directory (directory), l indica un collegamento simbolico (symbolic link).

I successivi 9 caratteri sono suddivisi in tre gruppi e descrivono i permessi per: (1) il proprietario; (2) i membri del gruppo che possiede l'oggetto; (3) gli altri utenti. In ogni blocco possiamo incontrare le lettere: r (read) indica il permesso di lettura; w (write) il permesso di modifica. La lettera x (executable) si incontra esclusivamente nel caso di directory/programmi/script e indica l'eseguibilità, ovvero la possibilità di avviare o esplorare l'oggetto.

Per comprendere meglio questa forma di registrazione, esaminiamo i permessi del file test2.txt (-rw-r--r--). Nella tabella, questi permessi possono essere rappresentati come segue:

Nr carattere Valore
1 Tipo file/directory/link - (cioè file)
2 Permessi del proprietario lettura r
3 scrittura w
4 esecuzione -
5 Permessi dei membri del gruppo lettura r
6 scrittura -
7 esecuzione -
8 Permessi di altri utenti lettura r
9 scrittura -
10 esecuzione -

Vediamo quindi che il file può essere letto da chiunque. Solo il proprietario (cioè in questo caso root/amministratore) ha il diritto di modificarlo. Il file non può essere eseguito (poiché non è un programma).

In alternativa, invece di tre lettere, i permessi vengono registrati in forma numerica, nel sistema ottale:

Numero Lettura Scrittura Esecuzione
0 nessun permesso (---)
1 - -
2 - -
3 -
4 - -
5 -
6 -
7 permessi completi (rwx)

chmod (change mode)

Se vogliamo cambiare i permessi di un file, possiamo farlo utilizzando il comando chmod. Accetta parametri in versione numerica (come nella tabella sopra), uno per: proprietario, gruppo, altri. Se vogliamo che tutti abbiano pieni diritti su un file, utilizzeremo il comando chmod 777 [nome oggetto]. Per consentire a tutti gli utenti di modificare il file dell'esempio precedente, il suo proprietario (in questo caso l'amministratore) deve inviare il comando chmod 777 test2.txt (notiamo come sia cambiata la stringa di caratteri nella prima colonna dell'elenco).

chown (change owner)

Il comando chown consente di cambiare il proprietario di un file:

chgrp (change group)

Analogamente a chown, il comando chgrp serve a cambiare il gruppo a cui è assegnato un determinato elemento.

Processi

I programmi e gli script eseguiti nel sistema Linux sono chiamati processi. Ci sono molti comandi che consentono di gestirli.

top (table of processes)

Il comando top visualizza un elenco dei processi attivi nel sistema. Nella tabella per ogni processo troveremo informazioni come il numero ID, il nome del proprietario, la quantità di memoria utilizzata e la potenza di calcolo consumata.

htop (Hisham's table of processes)

Una versione più leggibile del comando top (scritta da Hisham H. Muhammad) si chiama htop. Presenta sostanzialmente gli stessi dati, ma in una forma più leggibile. Offre anche all'utente una serie di opzioni aggiuntive, come la possibilità di ordinare, filtrare, ecc.

kill

Linux ci consente di spegnere immediatamente qualsiasi programma (anche se ciò provoca un malfunzionamento del sistema). A questo scopo serve il comando kill, al quale dobbiamo fornire il numero identificativo (PID) del processo (i numeri che vediamo nella prima colonna di top/htop).

systemctl (system control)

Il comando systemctl consente di avviare/arrestare processi/servizi, nonché di visualizzare un elenco delle risorse utilizzate dal sistema. È uno strumento utile che consente, ad esempio, di riavviare il software dopo aver modificato i suoi file di configurazione – tuttavia, la gestione di questo comando va ben oltre le premesse del nostro breve tutorial.

Lavorare con la rete

Poiché Linux è un sistema che è stato creato fin dall'inizio con l'idea di lavoro in rete, contiene molti comandi che facilitano la configurazione delle connessioni a Internet, Ethernet e computer.

ping

Il comando più basilare per testare le connessioni: invia un pacchetto di controllo all'indirizzo specificato e quindi visualizza il tempo di ricezione della risposta (se questa avviene). Se non specifichiamo un limite, i pacchetti verranno inviati ciclicamente fino a quando non interrompiamo utilizzando la combinazione Ctrl+C.

ifconfig (interface configuration)

Per vedere i dettagli sul funzionamento di tutte le interfacce di rete disponibili che il nostro computer possiede (inclusi quelle virtuali, come VPN), utilizziamo il comando ifconfig.

netstat (network statistics)

Per visualizzare informazioni sulle connessioni di rete attive nel sistema, utilizziamo il comando netstat. È uno strumento diagnostico utile. Utilizzando le opzioni possiamo ottenere informazioni sul funzionamento delle interfacce (-i), su tutte le porte aperte (-l), sulle connessioni TCP (-t), ecc.

traceroute (trace route)

Un altro strumento diagnostico utile. Dopo aver fornito il nome del server (ad esempio, traceroute google.com), otterremo un elenco dei punti di rete che il pacchetto in uscita dal nostro computer attraversa per raggiungere la destinazione. In questo modo possiamo scoprire dove si verificano ritardi e se eventuali problemi di comunicazione sono stati causati nella nostra infrastruttura.

wget (world wide web get)

Il fatto che lavoriamo in modalità testuale non significa affatto che dobbiamo rinunciare ai vantaggi di Internet. Anche in questa versione di base, Linux ci consente di scaricare file dalla rete. Questo avviene utilizzando il comando wget. È sufficiente digitare l'indirizzo specifico del file. Questo verrà scaricato nella directory di lavoro. Nell'esempio seguente è mostrato il download di un singolo documento da un repository github:

curl (client url)

Il comando curl ci offre ancora maggiori possibilità. Serve per il trasferimento di dati (inclusi file) utilizzando vari protocolli (HTTP, FTP, SMTP, ecc.). L'opzione -X consente di scegliere il metodo di invio (ad esempio, per un modulo utilizzando il metodo POST).

scp (secure copy)

Se trasferiamo dati riservati attraverso la rete, sarà meglio utilizzare il comando scp, che utilizza un protocollo di trasmissione crittografato SSH. Tale trasmissione avviene, ad esempio, durante la creazione di backup di file personali.

Transfer Multisort Elektronik (TME) è uno dei maggiori distributori mondiali di componenti elettronici, parti elettrotecniche, attrezzature da laboratorio e automazione industriale. Il catalogo include oltre 1.500.000 di prodotti di 1.300 produttori leader. I moderni centri logistici di TME a Łódź e Rzgów (Polonia), con una superficie complessiva di oltre 40.000 m², spediscono quasi 6.000 pacchi al giorno a clienti in più di 150 paesi.

TME investe anche nello sviluppo delle conoscenze e competenze di giovani ingegneri e appassionati di elettronica attraverso il progetto TME Education e supporta la comunità tecnologica organizzando la serie di eventi TechMasterEvent, promuovendo l’innovazione e lo scambio di esperienze.

rightColumnPicture rightColumnPicture

LEGGI ANCHE