Prontuario riga di comando Linux (Cheat Sheet)
Linux è un sistema operativo Unix-like gratuito e open-source basato su POSIX e Unix. È un sistema operativo multi-utente, multi-tasking, multi-threading e multi-CPU. Può eseguire i principali strumenti Unix, applicazioni e protocolli di rete e supporta hardware a 32 e 64 bit. Ereditando la filosofia di design incentrata sulla rete di Unix, Linux è un sistema operativo di rete multi-utente stabile.
Sistema
| uname | Mostra le informazioni sul sistema Linux |
| uname -r | Mostra la versione del kernel |
| uptime | Mostra da quanto tempo il sistema è in esecuzione (incluso il carico medio) |
| hostname | Mostra il nome host del sistema |
| hostname -i | Mostra l’indirizzo IP del sistema |
| last reboot | Mostra la cronologia dei riavvii del sistema |
| date | Mostra la data e l’ora correnti del sistema |
| timedatectl | Interroga e cambia l’orologio del sistema |
| cal | Mostra il mese e la data correnti del calendario |
| w | Mostra gli utenti attualmente collegati |
| whoami | Mostra la tua identità di accesso |
| finger username | Mostra informazioni su un utente |
Hardware
| dmesg | Mostra i messaggi di avvio |
| cat /proc/cpuinfo | Mostra informazioni dettagliate sulla CPU (modello, core, fornitore) |
| cat /proc/meminfo | Mostra informazioni dettagliate sulla memoria hardware (totale, libera) |
| lshw | Mostra le informazioni sulla configurazione hardware del sistema |
| lsblk | Mostra le informazioni relative ai dispositivi a blocchi |
| free -m | Mostra la memoria libera e usata (in MB) |
| lspci -tv | Mostra i dispositivi PCI in un diagramma ad albero |
| lsusb -tv | Mostra i dispositivi USB in un diagramma ad albero |
| dmidecode | Mostra le informazioni sull’hardware dal BIOS |
| hdparm -i /dev/xda | Mostra informazioni sui dati del disco |
| hdparm -tT /dev/xda | Esegue un test di velocità di lettura sul dispositivo xda |
| badblocks -s /dev/xda | Verifica la presenza di blocchi illeggibili sul disco |
Utenti
| id | Mostra i dettagli dell’utente attivo (uid, gid, gruppi) |
| last | Mostra gli ultimi accessi nel sistema |
| who | Mostra chi è collegato al sistema |
| groupadd “admin” | Aggiunge il gruppo “admin” |
| adduser “Sam” | Aggiunge l’utente Sam |
| userdel “Sam” | Elimina l’utente Sam |
| usermod | Cambia/modifica le informazioni dell’utente |
File
| ls -al | Elenca i file - inclusi i file regolari e nascosti e i relativi permessi |
| pwd | Mostra il percorso della directory corrente |
| mkdir ’nome_directory' | Crea una nuova directory |
| rm nome_file | Elimina un file |
| rm -f nome_file | Forza l’eliminazione di un file |
| rm -r nome_directory | Elimina ricorsivamente una directory |
| rm -rf nome_directory | Forza ed elimina ricorsivamente una directory |
| cp file1 file2 | Copia il contenuto del file1 nel file2 |
| cp -r dir1 dir2 | Copia ricorsivamente dir1 in dir2. Crea dir2 se non esiste |
| mv file1 file2 | Rinomina file1 in file2 |
| ln -s /path/to/file_name nome_collegamento | Crea un collegamento simbolico a file_name |
| touch nome_file | Crea un nuovo file vuoto |
| cat > nome_file | Crea un file dall’input da tastiera |
| more nome_file | Mostra il contenuto di un file una pagina alla volta |
| head nome_file | Mostra le prime 10 righe di un file |
| tail nome_file | Mostra le ultime 10 righe di un file |
| gpg -c nome_file | Cripta un file |
| gpg nome_file.gpg | Decripta un file |
| wc | Mostra il numero di byte, parole e righe di un file |
| xargs | Esegue comandi dallo standard input |
Processi
| ps | Mostra i processi attualmente attivi |
| ps aux | grep ’telnet' | Cerca l’id del processo di ’telnet' |
| pmap | Mostra la mappa di memoria di un processo |
| top | Mostra tutti i processi in esecuzione |
| kill pid | Termina il processo con il pid indicato |
| killall proc | Uccide tutti i processi chiamati proc |
| pkill nome-processo | Invia il segnale al processo tramite il nome |
| bg | Riprende un comando in background sospeso |
| fg | Porta un comando in background in primo piano |
| fg n | Porta il job n in primo piano |
| lsof | Elenca i file aperti dai processi |
| renice 19 PID | Esegue un processo con priorità molto bassa |
| pgrep firefox | Trova l’ID del processo Firefox |
| pstree | Visualizza i processi in un modello ad albero |
Permessi dei file
| chmod octal filename | Cambia i permessi dei file nel formato ottale |
| chmod 777 /data/test.c | Imposta i permessi rwx per il proprietario, il gruppo e tutti |
| chmod 755 /data/test.c | Imposta rwx per il proprietario, r-x per il gruppo e tutti |
| chmod 766 /data/test.c | Imposta rwx per il proprietario, rw- per il gruppo e tutti |
| chown owner user-file | Cambia la proprietà di un file |
| chown owner-user:owner-group nome_file | Cambia il proprietario e il gruppo di un file |
| chown owner-user:owner-group directory | Cambia il proprietario e il gruppo di una directory |
Rete
| ip addr show | Mostra gli indirizzi IP e tutte le interfacce di rete |
| ip address add 192.168.0.1/24 dev eth0 | Assegna l’indirizzo IP 192.168.0.1 all’interfaccia eth0 |
| ifconfig | Mostra gli indirizzi IP di tutte le interfacce di rete |
| ping host | Invia richieste eco ICMP per stabilire la connessione |
| whois domain | Recupera informazioni su un nome di dominio |
| dig domain | Recupera le informazioni DNS per un dominio |
| dig -x host | Esegue il lookup inverso per un dominio |
| host google.com | Esegue il lookup dell’IP per un nome di dominio |
| hostname -i | Mostra l’indirizzo IP locale |
| wget nome_file | Scarica file da risorse online |
| netstat -pnltu | Mostra tutte le porte di ascolto attive |
Compressione / Archiviazione
| tar -cf home.tar home | Crea un archivio tar chiamato home.tar per la directory home |
| tar -xf files.tar | Estrae il file di archivio “files.tar” |
| tar -zcvf home.tar.gz cartella-sorgente | Crea un archivio tar compresso da una cartella sorgente |
| gzip file | Comprime il file con estensione .gz |
Installazione dei pacchetti
| rpm -i pkg_name.rpm | Installa il pacchetto rpm |
| rpm -e pkg_name | Rimuove il pacchetto rpm |
| dnf install pkg_name | Installa il pacchetto usando lo strumento dnf |
Installazione da sorgente (Compilazione)
| ./configure | Controlla le dipendenze del sistema e crea il Makefile |
| make | Compila il programma |
| make install | Installa i file binari nel percorso predefinito/modificato |
Ricerca
| grep ‘pattern’ file | Cerca un pattern nei file |
| grep -r pattern dir | Cerca ricorsivamente un pattern in una directory data |
| locate file | Trova tutte le istanze di un file |
| find /home/ -name “index” | Trova i nomi dei file che iniziano con ‘index’ in /home |
| find /home -size +10000k | Trova i file più grandi di 10000k nella cartella home |
Accesso
| ssh user@host | Si connette in modo sicuro all’host come utente specificato |
| ssh -p port_number user@host | Si connette in modo sicuro all’host utilizzando la porta specificata |
| ssh host | Si connette in modo sicuro all’host tramite la porta predefinita 22 |
| telnet host | Si connette all’host tramite la porta predefinita 23 |
Trasferimento file
| scp file1.txt server2/tmp | Copia in modo sicuro file1.txt nella directory /tmp di server2 |
| rsync -a /home/apps /backup/ | Sincronizza la directory /home/apps con la directory /backup |
Utilizzo del disco
| df -h | Mostra lo spazio libero sui file system montati |
| df -i | Mostra gli inode liberi sui file system |
| fdisk -l | Mostra le partizioni del disco, le dimensioni e i tipi |
| du -sh | Mostra l’utilizzo del disco della directory corrente in formato leggibile dall’utente |
| findmnt | Mostra i punti di montaggio per tutti i file system |
| mount path-dispositivo mount-point | Monta un dispositivo |
Navigazione tra le directory
| cd .. | Sali di un livello nella struttura delle directory |
| cd | Cambia directory alla directory $HOME |
| cd /test | Cambia directory alla directory /test |