Schema dei comandi Linux
Linux è un sistema operativo simile a Unix, gratuito e liberamente distribuibile. È un sistema operativo multiutente, multitasking, che supporta multithreading e multi-CPU basato su POSIX e Unix. Può eseguire i principali strumenti software Unix, applicazioni e protocolli di rete. Supporta hardware a 32 e 64 bit. Linux eredita la filosofia di design di Unix centrata sulla rete ed è un sistema operativo di rete multiutente stabile.
Sistema
| uname | Mostra le informazioni sul sistema Linux |
| uname -r | Mostra le informazioni sulla versione del kernel |
| uptime | Mostra da quanto tempo il sistema è in funzione (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 modifica l’orologio di sistema |
| cal | Mostra il mese e la data del calendario corrente |
| w | Mostra gli utenti attualmente collegati al sistema |
| whoami | Mostra l’identità con cui si è collegati |
| finger username | Mostra informazioni su un utente |
Hardware
| dmesg | Mostra i messaggi di avvio |
| cat /proc/cpuinfo | Mostra più informazioni sulla CPU (es. modello, nome, core, fornitore) |
| cat /proc/meminfo | Mostra più informazioni sulla memoria hardware (es. memoria totale e libera) |
| lshw | Mostra informazioni sulla configurazione hardware del sistema |
| lsblk | Mostra informazioni sui dispositivi a blocchi |
| free -m | Mostra la memoria libera e utilizzata nel sistema (opzione -m per 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 e gruppi) |
| last | Mostra gli ultimi accessi al 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 | Utilizzato per cambiare/modificare le informazioni utente |
File
| ls -al | Elenca i file, inclusi quelli regolari e nascosti e i relativi permessi |
| pwd | Mostra il percorso della directory corrente |
| mkdir ’nome_dir' | Crea una nuova directory |
| rm nome_file | Elimina un file |
| rm -f nome_file | Forza l’eliminazione di un file |
| rm -r nome_dir | Elimina ricorsivamente una directory |
| rm -rf nome_dir | Forza ed elimina ricorsivamente una directory |
| cp file1 file2 | Copia il contenuto di file1 in file2 |
| cp -r dir1 dir2 | Copia ricorsivamente dir1 in dir2. Se dir2 non esiste, viene creata |
| mv file1 file2 | Rinomina file1 in file2 |
| ln -s /percorso/al/file nome_link | Crea un collegamento simbolico (soft link) a nome_file |
| touch nome_file | Crea un nuovo file |
| cat > nome_file | Crea un file dall’input da tastiera |
| more nome_file | Visualizza il contenuto del file |
| head nome_file | Mostra le prime 10 righe del file |
| tail nome_file | Mostra le ultime 10 righe del file |
| gpg -c nome_file | Cifra un file |
| gpg nome_file.gpg | Decifra il file |
| wc | Stampa il numero di byte, parole e righe nel file |
| xargs | Esegue comandi dallo standard input |
Processi
| ps | Mostra i processi attualmente attivi |
| ps aux | grep ’telnet' | Cerca l’id del processo ’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 fornito |
| killall proc | Uccide/termina tutti i processi chiamati proc |
| pkill nome-processo | Invia un segnale a un processo tramite il suo nome |
| bg | Riprende un comando sospeso in background |
| fg | Porta un comando dal background al primo piano per continuare l’esecuzione |
| fg n | Porta il job n in primo piano |
| lsof | Elenca i file aperti dai processi |
| renice 19 PID | Esegue il 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 ottale nome_file | Cambia i permessi del file in formato ottale |
| chmod 777 /data/test.c | Imposta permessi rwx per proprietario, gruppo e tutti |
| chmod 755 /data/test.c | Imposta rwx per proprietario, r-x per gruppo e tutti |
| chmod 766 /data/test.c | Imposta rwx per proprietario, rw- per gruppo e tutti |
| chown owner file-utente | Cambia la proprietà di un file |
| chown utente:gruppo nome_file | Cambia il proprietario e il gruppo di un file |
| chown utente:gruppo 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 echo ICMP per stabilire la connessione al server/PC |
| whois dominio | Recupera informazioni su un nome di dominio |
| dig dominio | Recupera informazioni DNS sul dominio |
| dig -x host | Esegue una ricerca inversa per il dominio |
| host google.com | Esegue la ricerca dell’IP per il nome di dominio |
| hostname -i | Mostra l’indirizzo IP locale |
| wget nome_file | Scarica un file da una risorsa online |
| netstat -pnltu | Mostra tutte le porte in ascolto attive |
Compressione/Archiviazione
| tar -cf home.tar home | Crea un file di archivio chiamato “home.tar” per la cartella “home” |
| tar -xf file.tar | Estrae il file di archivio “file.tar” |
| tar -zcvf home.tar.gz cartella-sorgente | Crea un archivio tar compresso dalla cartella sorgente |
| gzip file | Comprime un file con estensione .gz |
Installazione pacchetti
| rpm -i nome_pkg.rpm | Installa un pacchetto rpm |
| rpm -e nome_pkg | Rimuove un pacchetto rpm |
| dnf install nome_pkg | Installa un pacchetto software usando lo strumento dnf |
Installazione da sorgente (Compilazione)
| ./configure | Controlla il sistema per il software richiesto per compilare il programma (crea il Makefile) |
| make | Compila i sorgenti |
| make install | Installa i binari nel percorso predefinito/modificato |
Ricerca
| grep ‘pattern’ file | Cerca un pattern dato 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 file in /home che iniziano con ‘index’ |
| find /home -size +10000k | Trova i file più grandi di 10000k nella cartella home |
Login
| ssh utente@host | Si connette in modo sicuro all’host come utente specificato |
| ssh -p numero_porta utente@host | Si connette in modo sicuro all’host usando una porta specificata |
| ssh host | Si connette in modo sicuro al sistema tramite la porta SSH predefinita 22 |
| telnet host | Si connette all’host tramite la porta telnet predefinita 23 |
Trasferimento file
| scp file1.txt server2/tmp | Copia in modo sicuro file1.txt su server2 nella directory /tmp |
| rsync -a /home/apps /backup/ | Sincronizza il contenuto della directory /home/apps con la directory /backup |
Utilizzo del disco
| df -h | Mostra lo spazio libero sui sistemi montati |
| df -i | Mostra gli inode liberi sul file system |
| fdisk -l | Mostra le partizioni del disco, le dimensioni e il tipo |
| du -sh | Mostra l’utilizzo del disco nella directory corrente in formato leggibile |
| findmnt | Mostra i punti di montaggio di destinazione di tutti i file system |
| mount percorso-dispositivo punto-montaggio | Monta un dispositivo |
Navigazione directory
| cd .. | Sale di un livello nella struttura ad albero delle directory |
| cd | Cambia la directory nella directory $HOME |
| cd /test | Cambia la directory nella directory /test |