🐧 Riga di comando Linux
Comandi di base e avanzati per navigazione, file, processi, rete, monitoraggio, pacchetti e automazione. Adatto ai flussi di lavoro DevOps.
🔹 Comandi di base
| Comando | Esempio | Descrizione | 
|---|---|---|
| cat | Mostra il contenuto di un file o concatena più file | |
| cat file.txt | Visualizza il contenuto di un file | |
| cat file1 file2 | Concatena e mostra due file | |
| cat file1 file2 > merged.txt | Concatena file e salva in un nuovo file | |
| cd | Cambia la directory di lavoro corrente | |
| cd /etc | Vai al percorso assoluto  | |
| cd ~ | Vai alla home directory | |
| cd .. | Sali di un livello | |
| cd - | Torna alla directory precedente | |
| clear | Pulisci lo schermo del terminale | |
| cp | Copia file e directory | |
| cp file1.txt file2.txt | Copia un file con un nuovo nome | |
| cp -r dir1 dir2 | Copia ricorsivamente una directory | |
| cp -i file.txt /tmp/ | Copia con conferma prima di sovrascrivere | |
| echo | Stampa una stringa o una variabile d’ambiente | |
| echo "Hello, World!" | Stampa una semplice stringa | |
| echo $HOME | Mostra il percorso della home directory | |
| echo -e "1\t2\n3" | Interpreta le sequenze di escape ( ) | |
| history | Mostra la cronologia dei comandi | |
| id | Mostra UID, GID e gruppi dell’utente corrente | |
| ls | Elenca file e directory | |
| ls -l | Elenco dettagliato con permessi e proprietari | |
| ls -a | Mostra i file nascosti | |
| ls -lh | Dimensioni leggibili per l’uomo | |
| mkdir | Crea directory | |
| mkdir folder | Crea una singola directory | |
| mkdir -p a/b/c | Crea directory annidate | |
| mkdir dir{1,2,3} | Crea più directory contemporaneamente | |
| mv | Sposta o rinomina file/directory | |
| mv oldname.txt newname.txt | Rinomina un file | |
| mv file.txt /path/to/dir/ | Sposta un file in un’altra directory | |
| mv *.txt archive/ | Sposta tutti i file  | |
| pwd | Mostra la directory di lavoro corrente | |
| pwd -P | Mostra il percorso fisico (senza symlink) | |
| cd /tmp && pwd | Mostra il percorso dopo essere entrato in  | |
| rm | Rimuove file o directory | |
| rm file.txt | Elimina un file | |
| rm -i file.txt | Elimina un file con conferma | |
| rm -r folder/ | Elimina ricorsivamente una directory | |
| rm -rf folder/ | Forza l’eliminazione senza conferma | |
| rmdir | Rimuove una directory vuota | |
| rmdir emptydir | Rimuovi la directory  | |
| touch | Crea file vuoti o aggiorna l’ora di modifica | |
| touch newfile.txt | Crea un nuovo file vuoto se non esiste | |
| touch a b c | Crea più file contemporaneamente | |
| touch -c file.txt | Aggiorna l’orario senza creare un file se assente | |
| whereis | Trova il binario, il sorgente e le pagine man di un comando | |
| whereis ls | Trova le posizioni per  | |
| whereis bash | Mostra i percorsi per il binario e la documentazione di Bash | |
| whereis -b bash | Cerca solo il binario | |
| which | Mostra il percorso dell’eseguibile del comando | |
| which python3 | Percorso di  | |
| which grep | Percorso di  | |
| which --skip-alias ls | Ignora gli alias durante la ricerca | |
| whoami | Stampa il nome utente effettivo | 
🔸 Livello intermedio
| Comando | Esempio | Descrizione | 
|---|---|---|
| chmod | Cambia i permessi di file o directory | |
| chmod 755 file | Imposta i permessi con notazione ottale (es. 755) | |
| chmod +x script.sh | Aggiungi il bit di esecuzione a uno script | |
| chmod -R 644 dir/ | Imposta ricorsivamente i permessi su una directory | |
| chown | Cambia proprietario e gruppo di un file | |
| chown user file | Cambia il proprietario di un file | |
| chown user:group file | Cambia proprietario e gruppo | |
| chown -R user:group dir/ | Cambia ricorsivamente proprietario e gruppo | |
| curl | Trasferisce dati da/a un server (HTTP, HTTPS, ecc.) | |
| curl -I https://example.com | Invia una richiesta HEAD (solo intestazioni) | |
| curl -O https://example.com/file.txt | Scarica un file mantenendo il suo nome | |
| curl -d "a=1&b=2" -X POST URL | Invia una richiesta POST con dati di un form | |
| df | Mostra l’utilizzo dello spazio su disco del file system | |
| df -h | Dimensioni leggibili per l’uomo | |
| df /home | Utilizzo di un punto di mount specifico | |
| df -T | Mostra i tipi di file system | |
| diff | Confronta file o directory | |
| diff file1 file2 | Confronta due file | |
| diff -u old.c new.c | Diff unificato (stile patch) | |
| diff -r dir1 dir2 | Confronto ricorsivo tra directory | |
| du | Stima l’utilizzo dello spazio da parte di file e directory | |
| du -sh * | Mostra la dimensione degli elementi nella directory corrente | |
| du -h file.txt | Mostra la dimensione di un singolo file | |
| du -sh --max-depth=1 /var | Riassume le dimensioni delle sottodirectory principali | |
| find | Cerca file/directory per nome, dimensione, tempo, ecc. | |
| find . -name "*.log" | Trova tutti i file  | |
| find / -type f -size +100M | Trova file più grandi di 100 MB | |
| find . -mtime -1 | File modificati nell’ultimo giorno | |
| free | Mostra la quantità di memoria libera e usata | |
| free -h | Unità di memoria leggibili per l’uomo | |
| free -m | Mostra valori in MB | |
| watch -n 2 free -h | Aggiorna l’output ogni 2 secondi | |
| grep | Cerca testo usando pattern (espressioni regolari) | |
| grep "error" logfile | Trova righe contenenti  | |
| grep -r "error" /var/log | Ricerca ricorsiva in una directory | |
| grep -i "fail" file | Ricerca senza distinzione tra maiuscole e minuscole | |
| head | Mostra le prime righe di un file | |
| head -n 10 file | Prime 10 righe | |
| head -n 20 file.txt | Prime 20 righe | |
| head -c 100 file | Primi 100 byte | |
| hostname | Mostra o imposta il nome host del sistema | |
| hostname newname | Imposta temporaneamente il nome host fino al riavvio | |
| hostname -I | Mostra gli indirizzi IP | |
| kill | Invia segnali ai processi | |
| kill -9 1234 | Forza la chiusura di un processo tramite PID | |
| kill -TERM 1234 | Termina in modo pulito con SIGTERM | |
| pkill -f python | Uccidi processi corrispondenti a un pattern | |
| ping | Verifica la connettività di rete usando richieste ICMP echo | |
| ping 8.8.8.8 | Ping a un indirizzo | |
| ping -c 4 ya.ru | Invia 4 pacchetti | |
| ping -i 2 1.1.1.1 | Imposta un intervallo di 2 secondi | |
| ps | Mostra lo stato dei processi | |
| ps aux | Elenca tutti i processi | |
| ps -ef | grep nginx | Filtra per nome usando  | |
| ps -u $USER | Processi dell’utente corrente | |
| rsync | Trasferimento veloce e incrementale di file | |
| rsync -av src/ dst/ | Sincronizza directory localmente | |
| rsync -avz user@host:/src /dst | Sincronizza con un host remoto via SSH | |
| rsync --delete src/ dst/ | Elimina file nella destinazione mancanti nella sorgente | |
| scp | Copia sicura (programma per copia remota) | |
| scp file user@host:/path | Copia un file su un host remoto | |
| scp user@host:/file.txt . | Copia un file da un host remoto | |
| scp -r dir user@host:/path | Copia ricorsivamente una directory | |
| sort | Ordina righe di testo | |
| sort file.txt | Ordine alfabetico | |
| sort -r file.txt | Ordine inverso | |
| sort -n numbers.txt | Ordine numerico | |
| tail | Mostra la parte finale dei file; segue i cambiamenti | |
| tail -f logfile.log | Segui un log in tempo reale | |
| tail -n 20 file.txt | Mostra le ultime 20 righe | |
| tail -c 100 file.txt | Mostra gli ultimi 100 byte | |
| tar | Crea, elenca o estrai archivi tar | |
| tar -czf archive.tgz dir/ | Crea un archivio compresso  | |
| tar -xzf archive.tgz | Estrai un archivio  | |
| tar -tf archive.tgz | Elenca il contenuto di un archivio | |
| tee | Legge da stdin e scrive su stdout e file | |
| echo "test" | tee out.txt | Scrivi l’output in  | |
| ls | tee list.txt | Salva l’output di  | |
| command | tee -a log.txt | Aggiungi l’output alla fine di  | |
| top | Mostra i task di Linux (visualizzatore interattivo dei processi) | |
| top | Avvia top | |
| htop | Visualizzatore interattivo alternativo (htop) | |
| top -o %MEM | Ordina per utilizzo della memoria | |
| uptime | Mostra da quanto tempo il sistema è in esecuzione | |
| uptime -p | Uptime in forma leggibile | |
| uptime -s | Ora di avvio del sistema | |
| wget | Downloader di rete non interattivo | |
| wget https://site.com/file.zip | Scarica un file tramite URL | |
| wget -c file.zip | Riprendi un download interrotto | |
| wget -O saved.txt URL | Salva con un nome file diverso | |
| wc | Stampa conteggio di righe, parole e byte dei file | |
| wc -l file | Conta le righe | |
| wc -w file | Conta le parole | |
| wc -m file | Conta i caratteri | |
| uniq | Segnala o filtra le righe duplicate (adiacenti) | |
| uniq file.txt | Rimuovi duplicati adiacenti | |
| sort file | uniq | Rimuovi duplicati dopo sort | |
| sort file | uniq -c | Conta le occorrenze di ogni riga | |
| yes | Ripete una stringa finché interrotto; utile negli script | |
| yes "y" | command | Rispondi sempre “y” ai prompt | |
| yes | rm -i * | Conferma automaticamente le eliminazioni interattive | |
| yes no | command | Rispondi “no” ai prompt | 
🔧 Comandi avanzati
| Comando | Esempio | Descrizione | 
|---|---|---|
| at | Pianifica un comando una tantum da eseguire a un’ora specifica | |
| at now + 1 minute | Esegui un comando tra un minuto | |
| atq | Elenca i job in sospeso | |
| atrm | Rimuovi un job in sospeso | |
| awk | Linguaggio per la scansione e l’elaborazione di pattern | |
| awk '{print $1}' file | Stampa la prima colonna | |
| ps aux | awk '$3 > 50' | Filtra i processi per utilizzo CPU | |
| cat file.txt | awk '{print $2}' | Stampa il secondo campo di ogni riga | |
| awk '/error/ {print $0}' logfile | Stampa le righe corrispondenti a un pattern | |
| crontab | Installa, elenca o rimuove i job cron per utente | |
| crontab -e | Modifica il crontab dell’utente corrente | |
| crontab -l | Elenca i job cron | |
| crontab -r | Rimuovi il crontab dell’utente corrente | |
| cut | Rimuove o seleziona sezioni da ogni riga di file | |
| cut -d':' -f1 /etc/passwd | Stampa i nomi utente da  | |
| echo "a:b:c" | cut -d':' -f2 | Taglia il secondo campo usando ‘:’ come delimitatore | |
| cut -c1-5 filename | Seleziona caratteri per posizione | |
| df | Mostra l’utilizzo dello spazio disco del file system | |
| df -h | Dimensioni leggibili per l’uomo | |
| df -T | Mostra i tipi di file system | |
| df /home | Utilizzo della home directory | |
| env | Esegui un comando in un ambiente modificato o stampa l’ambiente | |
| env | grep PATH | Mostra le voci di PATH | |
| env -i bash | Avvia una shell pulita con ambiente vuoto | |
| export | Imposta variabili d’ambiente per la shell/sessione corrente | |
| export VAR=value | Imposta una variabile per questa shell | |
| export PATH=$PATH:/new/path | Aggiungi una directory a PATH | |
| export -p | Elenca le variabili esportate | |
| free | Mostra l’utilizzo della memoria | |
| free -m | Mostra in MB | |
| free -h | Unità leggibili per l’uomo | |
| free -s 5 | Campiona ogni 5 secondi | |
| hostnamectl | Interroga e modifica l’hostname del sistema e le impostazioni correlate | |
| hostnamectl status | Mostra lo stato dell’hostname | |
| hostnamectl set-hostname newname | Imposta un nuovo hostname statico | |
| ifconfig/ip | Strumenti IP per visualizzare/gestire interfacce e indirizzi | |
| ifconfig | Mostra interfacce di rete (legacy) | |
| ip a | Mostra indirizzi con  | |
| ip link set eth0 up | Attiva un’interfaccia | |
| iostat | Mostra statistiche CPU e I/O | |
| iostat -x 2 | Statistiche estese ogni 2 secondi | |
| iostat -d 5 3 | Statistiche dispositivi (intervallo 5s, 3 report) | |
| iptables | Strumento di amministrazione per filtraggio pacchetti IPv4 e NAT | |
| iptables -L | Elenca le regole correnti | |
| iptables -A INPUT -p tcp --dport 22 -j ACCEPT | Consenti connessioni SSH in ingresso sulla porta 22 | |
| iptables -F | Svuota tutte le regole | |
| journalctl | Interroga il journal di systemd | |
| journalctl -xe | Mostra errori recenti con contesto | |
| journalctl -u nginx.service | Mostra i log di un servizio | |
| journalctl --since "2 hours ago" | Mostra log da un tempo relativo | |
| ln | Crea collegamenti tra file | |
| ln -s target link | Crea un link simbolico | |
| ln file.txt backup.txt | Crea un hard link | |
| ln -sf target link | Ricrea forzatamente un link simbolico | |
| sed | Editor di flussi per filtrare e trasformare testo | |
| sed 's/old/new/g' file | Sostituisci una stringa globalmente | |
| sed -n '1,5p' file | Stampa solo un intervallo di righe | |
| sed '/pattern/d' file | Elimina righe corrispondenti a un pattern | |
| systemctl | Controlla il sistema e i servizi gestiti da systemd | |
| systemctl status nginx | Mostra lo stato di un servizio | |
| systemctl start nginx | Avvia un servizio | |
| systemctl enable nginx | Abilita un servizio all’avvio | |
| tr | Traduce o elimina caratteri | |
| tr a-z A-Z | Converti minuscole in maiuscole | |
| echo "hello" | tr 'h' 'H' | Sostituisci un carattere | |
| echo "abc123" | tr -d '0-9' | Elimina cifre | |
| type | Descrive come un nome viene interpretato nella shell | |
| type ls | Mostra come viene risolto  | |
| type cd | Mostra come viene risolto  | |
| type python3 | Mostra come viene risolto  | |
| ulimit | Ottieni o imposta limiti di risorse dei processi utente | |
| ulimit -n | Mostra il numero massimo di file aperti | |
| ulimit -c unlimited | Abilita core dump | |
| ulimit -u 4096 | Limita il numero di processi utente | |
| uptime | Mostra uptime del sistema e carico medio | |
| uptime -p | Uptime leggibile | |
| uptime -s | Mostra ora di avvio | |
| xargs | Costruisce ed esegue comandi da input standard | |
| xargs -n 1 echo | Stampa ogni argomento su una riga separata | |
| echo "a b c" | xargs -n 1 | Dividi parole in argomenti separati | |
| find . -name '*.txt' | xargs rm | Trova file e rimuovili con xargs | 
🌐 Comandi di rete
| Comando | Esempio | Descrizione | 
|---|---|---|
| curl | Trasferisce dati da/a server | |
| curl -X POST -d "a=1" URL | Richiesta POST con dati di un form | |
| curl -I URL | Recupera solo le intestazioni | |
| curl -o file.html URL | Scarica e salva su file | |
| dig | Utility per interrogazioni DNS | |
| dig openai.com | Richiedi record A | |
| dig +short openai.com | Risposta breve | |
| dig @8.8.8.8 openai.com | Usa un server DNS specifico | |
| ftp | Client FTP (File Transfer Protocol) | |
| ftp host | Connetti a un server FTP | |
| ftp -n host | Connetti senza login automatico | |
| ftp> get file.txt | Scarica un file in una sessione FTP | |
| ip address | Mostra/gestisce indirizzi IP | |
| ip addr show eth0 | Mostra info indirizzo per  | |
| ip addr | Elenca tutti gli indirizzi | |
| ip link | Mostra/gestisce dispositivi di rete | |
| ip link show | Mostra collegamenti di rete | |
| ip link set eth0 up | Attiva un’interfaccia | |
| ip route | Mostra/gestisce la tabella di routing IP | |
| ip route list | Elenca la tabella di routing | |
| ip route add default via 192.168.1.1 | Aggiungi una route predefinita | |
| nc | Connessioni e listener TCP/UDP arbitrari | |
| nc -zv host 22 | Scansiona le porte di un host | |
| nc -l 1234 | Ascolta su una porta TCP | |
| nc host 1234 < file | Invia un file a una porta remota | |
| nmap | Strumento di esplorazione rete e scanner di porte/sicurezza | |
| nmap -sP 192.168.1.0/24 | Ping scan di una subnet | |
| nmap -sV 192.168.1.1 | Rilevamento servizi/versioni | |
| nmap -O 192.168.1.1 | Rilevamento sistema operativo | |
| nslookup | Interroga i server DNS | |
| nslookup google.com | Interroga un nome di dominio | |
| nslookup 8.8.8.8 | Reverse lookup per un IP | |
| ssh | Client OpenSSH per login remoto | |
| ssh user@host | Connetti a un host | |
| ssh -p 2222 user@host | Connetti usando una porta non predefinita | |
| ssh -i ~/.ssh/id_rsa user@host | Accedi con una chiave privata specifica | |
| ss | Utility per analizzare i socket | |
| ss -tuln | Elenca le porte TCP/UDP in ascolto | |
| ss -s | Statistiche di riepilogo | |
| ss -l | Elenca i socket in ascolto | |
| telnet | Interfaccia utente al protocollo TELNET | |
| telnet host 80 | Connetti a un host sulla porta 80 | |
| telnet example.com 443 | Connetti alla porta 443 | |
| telnet localhost 25 | Connetti al servizio SMTP locale | |
| traceroute | Traccia il percorso verso un host di rete | |
| traceroute 8.8.8.8 | Traccia percorso verso un IP | |
| traceroute -m 15 8.8.8.8 | Limita il numero massimo di hop | |
| wget | Recupera file dal web | |
| wget -O file.txt URL | Salva output su file | |
| wget URL | Scarica nella directory corrente | |
| wget -c URL | Continua un download parziale | 
🔍 Ricerca e gestione file
| Comando | Esempio | Descrizione | 
|---|---|---|
| basename | Rimuove directory e suffisso dai nomi file | |
| basename /path/to/file | Stampa il nome file da un percorso | |
| basename /path/to/file .txt | Rimuovi un suffisso dal nome | |
| dirname | Rimuove l’ultimo componente da un percorso | |
| dirname /path/to/file | Mostra la parte directory del percorso | |
| dirname /etc/passwd | Mostra il genitore di  | |
| du | Stima l’utilizzo dello spazio dei file | |
| du -sh folder/ | Mostra la dimensione di una directory | |
| du -h * | Mostra la dimensione degli elementi nella directory corrente | |
| du -c folder1 folder2 | Dimensione cumulativa di più directory | |
| file | Determina il tipo di file | |
| file some.bin | Rileva il tipo di file | |
| file * | Rileva i tipi per tutti i file in una directory | |
| file -i file.txt | Mostra il tipo MIME | |
| find | Cerca file | |
| find /path -type f -name "*.sh" | Trova script shell per nome | |
| find . -size +10M | Trova file più grandi di 10 MB | |
| find /tmp -mtime -1 | Trova file modificati nell’ultimo giorno | |
| locate | Trova file per nome usando un database | |
| locate filename | Trova un nome file | |
| locate *.conf | Ricerca con caratteri jolly | |
| locate -i README | Ricerca senza distinzione maiuscole/minuscole | |
| realpath | Mostra il percorso assoluto risolto | |
| realpath file | Risolvi il percorso di un file | |
| realpath ../relative/path | Risolvi un percorso relativo | |
| stat | Mostra stato di file o file system | |
| stat file | Mostra stato dettagliato di un file | |
| stat -c %s file | Stampa solo la dimensione del file | |
| stat -f file | Mostra stato del file system | |
| tree | Elenca contenuti delle directory in formato ad albero | |
| tree | Stampa l’albero delle directory | |
| tree -L 2 | Limita la profondità di visualizzazione | |
| tree -a | Includi file nascosti | 
📊 Monitoraggio del sistema
| Comando | Esempio | Descrizione | 
|---|---|---|
| dmesg | Stampa o controlla il buffer ad anello del kernel | |
| dmesg | tail | Mostra gli ultimi messaggi del kernel | |
| dmesg | grep usb | Filtra i messaggi USB | |
| free | Mostra l’utilizzo della memoria | |
| free -h | Unità leggibili per l’uomo | |
| free -m | Mostra in MB | |
| htop | Visualizzatore interattivo dei processi | |
| htop | Esegui  | |
| iotop | Mostra l’utilizzo I/O per processo | |
| iotop | Esegui  | |
| iotop -o | Mostra solo i processi che fanno I/O | |
| lsof | Elenca i file aperti | |
| lsof -i :80 | Mostra i processi che usano la porta 80 | |
| lsof -u username | Mostra i file aperti da un utente | |
| uptime | Mostra uptime del sistema e carichi medi | |
| vmstat | Mostra statistiche di memoria virtuale | |
| vmstat 1 | Aggiorna ogni 1 secondo | |
| vmstat 5 3 | Intervallo di 5 secondi, 3 report | |
| watch | Esegue periodicamente un programma mostrando l’output | |
| watch -n 1 df -h | Monitora l’utilizzo del disco | |
| watch -d free -h | Evidenzia le differenze e monitora la memoria | 
📦 Gestione pacchetti
| Comando | Esempio | Descrizione | 
|---|---|---|
| apt | Gestore pacchetti APT (Debian/Ubuntu) | |
| apt install curl | Installa un pacchetto | |
| apt remove curl | Rimuovi un pacchetto | |
| apt update && apt upgrade | Aggiorna lista pacchetti e fai upgrade | |
| dnf | Dandified YUM (famiglia Fedora/RHEL) | |
| dnf install curl | Installa un pacchetto | |
| dnf upgrade | Aggiorna pacchetti | |
| rpm | Gestore pacchetti RPM | |
| rpm -ivh package.rpm | Installa un pacchetto RPM | |
| rpm -e package | Elimina (disinstalla) un pacchetto | |
| snap | Gestore pacchetti Snappy | |
| snap install app | Installa uno snap | |
| snap remove app | Rimuovi uno snap | |
| yum | Yellowdog Updater Modified (RHEL/CentOS) | |
| yum install curl | Installa un pacchetto | |
| yum remove curl | Rimuovi un pacchetto | 
💽 File system
| Comando | Esempio | Descrizione | 
|---|---|---|
| blkid | Trova/stampa attributi dei dispositivi a blocchi | |
| blkid | Elenca dispositivi a blocchi e attributi | |
| df | Mostra utilizzo dello spazio disco del file system | |
| df -Th | Dimensioni leggibili per tipo | |
| fsck | Controlla e ripara un file system Linux | |
| fsck /dev/sda1 | Controlla un dispositivo | |
| lsblk | Elenca informazioni sui dispositivi a blocchi | |
| lsblk | Elenca dispositivi in formato ad albero | |
| mkfs | Crea un file system Linux | |
| mkfs.ext4 /dev/sdb1 | Crea un file system ext4 | |
| mount | Monta un file system | |
| mount /dev/sdb1 /mnt | Monta un dispositivo su  | |
| mount | grep /mnt | Mostra i file system montati filtrati per percorso | |
| parted | Programma di gestione delle partizioni | |
| parted /dev/sdb | Apri un disco per il partizionamento | |
| umount | Smonta file system | |
| umount /mnt | Smonta un punto di mount | 
🤖 Script e automazione
| Comando | Esempio | Descrizione | 
|---|---|---|
| alias | Definisci o mostra alias della shell | |
| alias ll='ls -la' | Crea un alias utile | |
| alias | Elenca alias definiti | |
| bash/sh | Esegui script shell | |
| bash script.sh | Esegui uno script con Bash | |
| sh script.sh | Esegui uno script con  | |
| crontab | Tabelle cron per utente | |
| crontab -e | Modifica il crontab dell’utente corrente | |
| read | Richiedi input all’utente negli script shell | |
| read name | Leggi in una variabile | |
| set | Imposta opzioni/parametri posizionali della shell | |
| set -e | Esci al primo errore | |
| source | Leggi ed esegui comandi da un file nella shell corrente | |
| source ~/.bashrc | Ricarica la configurazione della shell | |
| trap | Intercetta segnali ed esegui comandi | |
| trap "echo 'exit'" EXIT | Esegui un comando all’uscita dalla shell | 
🛠 Sviluppo e debugging
| Comando | Esempio | Descrizione | 
|---|---|---|
| gcc | Compilatore GNU C | |
| gcc main.c -o app | Compila un file sorgente C | |
| gdb | Debugger GNU | |
| gdb ./app | Debug di un binario compilato | |
| git | Sistema di controllo versione distribuito | |
| git status | Mostra lo stato dell’albero di lavoro | |
| git commit -m "msg" | Effettua commit con messaggio | |
| ltrace | Tracer di chiamate a libreria | |
| ltrace ./app | Traccia chiamate a libreria di un binario | |
| make | Utility per mantenere gruppi di programmi | |
| make | Compila secondo Makefile | |
| shellcheck | Analisi statica per script shell | |
| shellcheck script.sh | Lint di uno script shell | |
| strace | Traccia chiamate di sistema e segnali | |
| strace ./app | Traccia le syscall di un programma | |
| valgrind | Framework di strumentazione per analisi dinamiche | |
| valgrind ./app | Esegui un programma con Valgrind | |
| vim/nano | Editor di testo da riga di comando | |
| vim file.sh | Modifica con Vim | |
| nano file.sh | Modifica con Nano | 
📌 Varie
| Comando | Esempio | Descrizione | 
|---|---|---|
| cal | Mostra un calendario | |
| cal 2025 | Mostra calendario annuale | |
| cal 08 2025 | Mostra un mese specifico | |
| date | Mostra o imposta data e ora del sistema | |
| date +%T | Stampa ora corrente (HH:MM:SS) | |
| date -d "next friday" | Stampa la data per un giorno relativo | |
| factor | Fattorizza interi | |
| factor 100 | Fattorizza un numero | |
| man | Formatta e mostra le pagine manuali online | |
| man tar | Apri una pagina man | |
| man -k copy | Cerca manuali per parola chiave | |
| man 5 passwd | Apri una sezione specifica del manuale | |
| seq | Stampa sequenze di numeri | |
| seq 1 5 | Conta da 1 a 5 | |
| seq 1 2 9 | Conta con passo | |
| seq -s ',' 1 5 | Unisci numeri con un separatore personalizzato | |
| yes | Stampa ripetutamente una stringa finché interrotto | |
| yes | rm -r dir | Conferma automaticamente una rimozione ricorsiva | 
📚 Risorse aggiuntive
📘 pagine man - manuali dettagliati dei comandi:
man ls
man rm📙 TLDR - esempi concisi di utilizzo dei comandi più popolari:
🧠 Suggerimento: Installa tldr per un aiuto in stile cheat sheet:
sudo apt install tldr   # oppure: npm install -g tldr
tldr tar                # esempio di un breve riepilogo per il comando tar🌐 Link utili
Pagine man Linux online — manuali ufficiali, ricercabili per nome comando:
https://man7.org/linux/man-pages/
Pagine man semplificate e della community — pagine di aiuto guidate dalla community con esempi pratici:
https://tldr.sh/