05.Alcuni comandi Linux
Elenco alcuni comandi Linux di utilità generale per ricavare informazioni sul sistema che si sta utilizzando ed incominciare a smanettare.
Sistema
- dmesg visualizza i messaggi mostrati alla partenza del sistema (per paginare l’output: dmesg | less)
- uname -a versione del sistema operativo e altre info
- free visualizza l’utilizzo della memoria
- cat /proc/meminfo visualizza informazioni sulla memoria di sitema
- df -h visualizza informazioni sullo spazio usato dai dischi
- du -ah visualizza lo spazio occupato dalla directory e dal suo contenuto
- init 0 arresta il sistema
- init 6 riavvia il sistema
- uptime visualizza da quanto tempo il sitema è avviato
- ssh <ip> apre una shell su un computer remoto
Processi
- ps -aux elenco dei processi in esecuzione (es. ps –ax | less, ps –ax | grep root) la prima colonna è l’ID del processo
- pstree albero dei processi in esecuzione (es. pstree | less)
- fuser –n tcp 25 visualizza l’ID del processo che sta utilizzando la porta tcp 25
- kill <ID> termina il processo indicato da <ID>
- chkconfig --list elenco dello stato dei servizi nei vari runlevel
- service –status-all elenco dello stato dei servizi
- lsmod elenca i moduli in uso
- top visualizza l'attività dei processi (tipo task manager di windows)
Utente
- whoami visualizza l’utente con cui sono collegato
- who visualizza gli utenti collegati sulle varie console/terminali(w da informazioni estese)
- tty visualizza il terminale a cui sono collegato
- id visualizza l’identità dell’utente
- groups visualizza i gruppi di appartenenza
- echo $PATH visualizza il percorso di ricerca dei comandi
- history elenco dei comandi digitati (se digito !<numeroComando> eseguo quel comando, se digito !! eseguo l’ultimo comando digitato)
- sudo <command> eseguo il comando con i privilegi dell'utente indicato nel file /etc/sudoers , normalmente root. Richiede la password dell'utente corrente o di root, dipende dalle impostazioni del sistema.
- su -<userName> cambio identità e divento l’utente <userName> (attenzione alla presenza del meno prima del nome). Vedi anche sudo
- passwd cambio la password
- write <utente> <tty> invia in messaggio a <utente> collegato su <tty>. Scrivere il messaggio e premere CTRL+D per terminare.
File
- ls <path> elenco del contenuto di una drectory (opzione -l visualizzazione dettagliata, -a visualizza i file nascosti)
- pwd visualizza la drectory corrente
- cd <dir> cambia la drectory corrente
- cat <file> visualizza il contenuto di un file (es. cat /etc/passwd | less)
- less <file> come cat, ma visualizza un output paginato che posso scorrere con i tasti cursore
- head <file> -n 4 visualizza le prime 4 righe di un file
- tail <file> -n 4 visualizza le ultime 4 righe di un file
- cp <fileOrigine> <fileDestinazione> copia un file
- mv <fileOrigine> <fileDestinazione> rinomina o sposta un file
- rm <file> cancella un file
- mkdir <dir> crea una drectory
- rmdir <dir> cancella una drectory
- file <file> da informazioni sul tipo di file
- stat <file> da informazioni su un file quali permessi, date, utente...
- touch <file> se esiste aggiorna la data ultimo accesso del file, altrimenti crea un nuovo file
- which <comando> visualizza il percorso in cui si trova il comando passato (cerca in base alla variabile $PATH, es: which passwd)
- find <path> -name "<cosa>" cerca un file a partire da <path> con nome <cosa> (es. find /usr –name "passw*" , find / -name "us*" –type d –perm 777)
- grep <parola> <file> cerca all’interno di un file (es: grep root /etc/passwd)
- chown <file> divento il proprietario di <file>
Manipolazione testo
- cut -d<delim> -f<fieldNum> <file> estrae il campo <fieldNum> da <file> avente separatore di campo <fieldNum>
- sort ordina un elenco
- uniq estrae o rimuove le linee duplicate
- sed s/regexp/replacement/ <file> sosituisce il testo corrispondente e regexp con replacement
- vi <fileName> uno dei primi editor di testo. Alcuni comandi sono i per entrare in modalità insert in cui si può digitare il testo, ESC per uscire dalla modalità insert. Digitare :x per salvare e uscire (equivale a :wq) oppure :q! per uscire senza salvare.
Rete
- hostname visualizza il nome della macchina contenuto in /etc/sysconfig/network (anche echo $HOSTNAME)
- ifconfig informazioni sulla configurazione delle schede di rete (es. ifconfig eth0 solo la prima scheda di rete)
- route informazioni sulle route impostate
- netstat -an visualizza le porte in uso
- lsof -l visualizza i file aperti (LiSt Open Files)
- lsof -l visualizza i file aperti
- lsof -l visualizza i file aperti
- ifdown <scheda> disattiva la scheda di rete (es.: ifdown eth0)
- ifup <scheda> attiva la scheda di rete (es.: ifdown eth0)
- /etc/init.d/network restart riavvia i servizi di rete
File e directory di configurazione
- /etc/sysconfig/network nome della macchina (hostname)
- /etc/hosts abbinamento nome macchina con IP. Equivale al file su windows \windows\system32\drivers\etc\hosts, nel caso di Mac OS X si trova in /private/etc/hosts
- /etc/resolv.conf DNS impostati sulla macchina
- /etc/sysconfig/network-scripts/ contiene tutti gli script di configurazione delle schede di rete
- /etc/init.d/ contiene gli script di avvio
- /proc/filesystems elenco dei filesystem supportati
- /etc/profile primo script letto quando l’utente si collega con la shell bash. Successivamente legge gli script contenuti in /etc/profile.d/, poi passa nella directory utente ed esegue ~/.bash_profile e ~/.bashrc. Al logout esegue ~/bash_logout
- /etc/fstab elenco dei filesystem conosciuti dalla macchina (ma non necessariamente montati all’avvio)
- /etc/passwd contiene gli utenti con le loro impostazioni
- /etc/shadow contiene gli utenti e le password criptate
Help
- man <name> visualizza la pagina del manuale relativa al comando o file passato come argomento (es. man netstat oppure man /etc/passwd)