🐧 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/