studente@lab:~$ man shell
La shell è il posto dove scrivi ordini al computer invece di cliccare. Tutto quello che serve per iniziare sta in questa pagina: per ogni comando trovi la parola inglese da cui nasce, così lo ricordi senza studiarlo a memoria.
Come è fatto un comando
Ogni riga che scrivi ha sempre la stessa forma. Separa le parti con uno spazio.
Le opzioni corte si possono unire: ls -l -a equivale a ls -la. Maiuscole e minuscole contano: -l e -L sono opzioni diverse.
Nessun comando trovato. Prova con una parola più semplice, come "file" o "rete", oppure usa man -k parola nel terminale.
Permessi: il trucco del 4-2-1
Ogni file ha tre permessi per tre tipi di persone. Somma i numeri e ottieni la cifra da dare a chmod.
| Scrivi | Proprietario (u) | Gruppo (g) | Altri (o) | Quando si usa |
|---|---|---|---|---|
chmod 755 | rwx (4+2+1) | r-x (4+1) | r-x (4+1) | Script e cartelle |
chmod 644 | rw- (4+2) | r-- (4) | r-- (4) | File normali |
chmod 600 | rw- (4+2) | --- | --- | Chiavi SSH e segreti |
Leggi l'output di ls -l così: -rwxr-xr-- → primo carattere il tipo (- file, d cartella), poi tre blocchi da tre: proprietario, gruppo, altri.
Pipe e redirezioni: i tubi
Immagina ogni comando come un rubinetto. Questi simboli decidono dove va l'acqua.
| Simbolo | Cosa fa | Esempio |
|---|---|---|
| | Passa l'uscita di un comando al successivo | ip a | grep inet |
> | Scrive in un file, cancellando il contenuto | ls > elenco.txt |
>> | Aggiunge in fondo al file | date >> log.txt |
< | Legge l'ingresso da un file | wc -l < elenco.txt |
2> | Salva solo gli errori | find / -name x 2> /dev/null |
&& | Esegue il secondo solo se il primo riesce | sudo apt update && sudo apt upgrade |
Un > o due? Uno solo sovrascrive, due aggiungono. Nel dubbio usa >>.
Percorsi e simboli speciali
/ | La radice: il punto da cui parte tutto il file system |
~ | La tua cartella personale (/home/nome) |
. | La cartella in cui ti trovi adesso |
.. | La cartella sopra, il "genitore" |
* | Qualsiasi sequenza di caratteri: *.txt = tutti i file .txt |
? | Un solo carattere qualsiasi: foto?.jpg |
$VAR | Il valore di una variabile: echo $HOME |
Un percorso che inizia con / è assoluto (vale ovunque). Senza / iniziale è relativo (parte da dove sei).
Tasti che fanno risparmiare tempo
- Tab completa nomi di comandi e file
- ↑↓ scorrono i comandi già scritti
- CtrlC interrompe il comando in corso
- CtrlR cerca nella cronologia
- CtrlL pulisce lo schermo
- CtrlD chiude la sessione
- q esce da
man,less,top - !! ripete l'ultimo comando
Le 5 regole d'oro
- Prima di agire, guarda dove sei:
pwdels. - Non sai un comando?
man comandooppurecomando --help. - Premi Tab sempre: evita errori di battitura.
rmnon ha cestino. Quello che cancelli è perso.- Usa
sudosolo quando serve e solo se sai cosa fa il comando.
Mettiti alla prova
Pensa alla risposta, poi apri per controllare.
Come vedi l'indirizzo IP della tua scheda di rete?
ip a (address). Cerca la riga che inizia con inet.
Come verifichi se il server 8.8.8.8 risponde, inviando solo 4 pacchetti?
ping -c 4 8.8.8.8 (c = count).
Come torni alla cartella superiore?
cd ..
Quale numero dai a chmod per rw-r--r--?
644: 4+2, 4, 4.
Come trovi tutte le righe con "error" in syslog?
grep error /var/log/syslog (aggiungi -i per ignorare maiuscole e minuscole).
Quali porte sono in ascolto sulla macchina?
ss -tuln: t = TCP, u = UDP, l = in ascolto, n = numeri invece di nomi.
Come ti colleghi al server 192.168.1.10 con l'utente admin?
ssh admin@192.168.1.10