LeoBenelli
Personal WebPage


COMANDI BASH

 

Lilo

Eseguibile (/sbin/lilo), File di configurazione (/etc/lilo)
Programma per procedura di partenza di Linux e altri sistemi operativi.
Al prompt di lilo se scriviamo :
<label di selezione tipo boot> single si dovrebbe evitare di entrare automaticamente in X in caso di impostazione del runlevel per login da X.

Esempio di LILO.CONF

boot=/dev/hdb1 (Device contenente il settore di avvio)
map=/boot/map (File di mappatura)
install=/boot/boot.b (Immagine del settore di avvio che verra' installato)
prompt
timeout=50
default=linuxnew (Label di default che verra' lanciata alla pressione dell'INVIO)

image=/boot/vmlinuz-2.2.12-20 (Percorso del kernel che verra' caricato)
label=linux (Label da digitare al prompt per richiamare questa configurazione)
initrd=/boot/initrd-2.2.12-20.img
read-only
root=/dev/hdb5 (Device della root)
append=”mem=64M” (Talvolta e' necessario passare al Kernel quanti MB ram ha la macchina)

image=/boot/bzImage
label=linuxnew
initrd=/boot/initrd-2.2.12-20.img
read-only
root=/dev/hdb5

other=/dev/hda1
label=dos

Quando il boot sector viene aggiornato con lilo, la vecchia immagine viene salvata in /boot/boot.(Numero della periferica Esadecimale

Dmesg

Eseguibile (/bin/dmesg)

 Visualizza i messaggi di boot.

Rpm

Eseguibile (/bin/rpm)

Programma per l'installazione di pacchetti in maniera automatica.

rpm -Uvh <File da installare> (Installazione di un pacchetto)
-i (Installa)
-U (Installa e tutti i precedenti pacchetti rimossi)
-v (verifica)
-h (Installa mostrando l'avanzamento)
-e (Rimuove un programma)
-q (Interroga sull'installazione del pacchetto)
--test (Esegue solo un test d'installazione per analizzare eventuali conflitti)

Halt

Eseguibile (/sbin/halt)

Esegue lo spengimento del sistema.

Shutdown

Eseguibile (/sbin/shutdown)

Esegue lo spengimento o reboot del sistema.

shutdown -r now (Esegue il reboot immediatamente)
shutdown -r +min (Esegue il reboot dopo +min)
shutdown -r hh:mm (Esegue il reboot alle hh:mm)
-r (esegue il reboot)
-t(sec) (esegue il comando dopo X secondi)
-c (annulla una chiusura determinata in precedenza)
-h (forza un arresto totale dopo la chiusura)
-k (simula una chiusura, inviando messaggi agli utenti)

Reboot

Eseguibile (/sbin/reboot)

Esegue il reboot del sistema

Passwd

Eseguibile (/usr/bin/passwd)
Permette la sostituzione della password

Adduser

Eseguibile (/usr/sbin/adduser) (E' un link simbolico a /usr/sbin/useradd)
Permette la creazione di nuovi utenti

adduser <alias utente>

Logout

Comando shell
Permette di scollegarsi dal sistema e torna al prompt di richiesta utente.

Who

Eseguibile (/usr/bin/who)
Permette la visualizzazione di chi e' connesso al momento al sistema

Ls

Eseguibile (/bin/ls)
Permette di visualizzare il contenuto del device.

ls
-a (visualizza anche i files nascosti, che iniziano con . )
-r (inverte l'ordinamento)
-t (ordina per data)
-l (visualizza maggiori informazione sui files invece del semplice nome)

Tail

Eseguibile (/usr/bin/tail)
Permette di visualizzare le ultime righe di un file

tail
-n (Numero di righe) (visualizza le ultime X righe dal file)

Man

Eseguibile (/usr/bin/man)
Permette di visualizzare il manuale dei comandi.

Man (comando)
-k (Argomento) (visualizza una lista dei comandi che riguardano l'argomento)

Env

Eseguibile (/usr/bin/env)
Permette di visualizzare la lista delle variabili di ambiente ed il contenuto.

Ps

Eseguibile (/bin/ps)
Permette di visualizzare la lista dei processi

ps
-a (visualizza tutti i processi)
-l (Visualizza piu' dettagli)
-u (visualizza altre informazioni in caso di utente non root)

La colonna S indica lo stato S (Sleeping), R (Run)
La colonna PPID e' il processo genitore.
La colonna PID e' l'ID del processo

Visualizzazioni molto utili si ottengono con :
ps -ax
ps -aux
ps -le

Pstree

Eseguibile (/usr/bin/pstree)
Permette di visualizzare la lista dei processi sotto forma di albero

Visualizzazioni molto utili si ottengono con :
pstree -hap (visualizza l'albero evidenziando il pid)

top

Eseguibile (/usr/bin/top)
Permette di visualizzare i task con varie opzioni di ordinamento tramite un interfaccia visuale a caratteri

Kill

Eseguibile (/bin/kill)
Permette di terminare un processo.

Kill <segnale> (PID del processo trovato con ps)
Kill -9 (PID del processo trovato con ps) (se non funziona il primo)

 

Segnali

Descrizione

1(HUP)

(Appendere) Chiude una sessione

2(INT)

(Interrompere) Segnale inviato alla pressione di CTRL+C

3(QUIT)

(Togliere) Finalizza un processo, e reimposta la memoria (Coredump)

9(KILL)

(Uccidere) Interruzione incondizionata di un processo

11(SEGV)

(Violazione del segmento) Si e' tentato di accedere ad una posizione di memoria non consentita.

15(TERM)

(Terminare) Per fare terminare i processi in maniera controllata dal processo stesso, cio' permette se possibile di chiudere i file aperti ecc...

17(STOP)

(Stop) Interrompe un processo in maniera incondizionata, il processo pero' non verra' chiuso ma potra' continuare la sua esecuzione dopo il segnale CONT.

18(TSTP)

(Stop) Segnale inviato alla pressione di CTRL+Z

19(CONT)

(Continuare) Riprende l'esecuzione di un processo interrotto con STOP o TSTP.

killall

Eseguibile (/usr/bin/kill)
Permette di terminare un processo dal nome e non dal PID.

killall <Segnale> <NomeProcesso>


Es. Kilalll -HUP inetd (fa rileggere a inetd la configurazione).

Su

Eseguibile (/bin/su)
Permette di loggarsi con un altro nome utente

su (ci si collega come root)
su (Nome utente) (login con nome utente)

Gli script di partenza e le variabili di ambiente non vengono eseguite. Quindi usare <su> per operazioni normali.

Grep

Eseguibile (/bin/grep)
Permette di estrarre da un file i righi che hanno una determinata stringa.

-i (non considera la differenza maiuscole/minuscole)
-v (non estrae le linee che soddisfano la richiesta)
”espressione regolare” (Analizza l'espressione e i suoi comandi per la ricerca)

grep (Stringa) (nome file) (cerca stringa in nome file e visualizza i righi trovati)
cat (nome file) | grep (stringa) (stessa cosa ma con l'uso della regola Pipe)

Comandi per utilizzo di espressione regolare

Cat

Eseguibile (/bin/cat)
Esegue il type di un file.

Mkdir

Eseguibile (/bin/mkdir)
Crea una nuova directory.

Cp

Eseguibile (/bin/cp)
Copia un file o una directory.

Mv

Eseguibile (/bin/mv)
Sposta e rinomina file o directory.

Rm

Eseguibile (/bin/rm)
Elimina file.

Se si desidera cancellare il contenuto di una directory e tutto il suo contenuto si puo' usare l'opzione -r (Attenzione!)

Rmdir

Eseguibile (/bin/rmdir)
Elimina directory.

Chown

Eseguibile (/bin/chown)
Permette di cambiare il possessore di un file o directory

chown (proprietario) (nome file)

Newgrp

Eseguibile (/usr/bin/newgrp)
Permette di cambiare il gruppo di appartenenza per l'attuale sessione.

newgrp (nome gruppo) (usato in caso di appartenenza a piu' gruppi)

Chgrp

Eseguibile (/bin/chgrp)
Permette di cambiare il gruppo possessore di un file o directory

chgrp (proprietario) (nome file)

umask

Comando shell
Permette di visualizzare la variabile umask. Usata come permessi di default in creazione file.

chmod

Eseguibile (/bin/chgrp)
Permette di cambiare le autorizzazione ai files

Prima Modalita' :
chmod <Specifica> (nome file)
Specifica = (u | g | o) (+ | - ) (r | w | x) -> (+) Aggiunge o (-)Toglie per (Utente/Gruppo/O=Altri) una serie di autorizzazioni (r)Lettura, (w)Scrittura, (x) esecuzione.
Es. Chmod ug +rw prova.conf. (aggiunge i diritti di lettura/Scrittura per l'utente ed il gruppo di appartenenza del file)

Seconda Modalita' :
chmod <Specifica> (nome file)
Specifica = (1...7|1...7 |1...7) Imposta le autorizzazioni in base alla specifica di 3 caratteri, primo per utente, secondo per gruppo ed il terzo per gli altri, in base alla tabella delle autorizzazioni.
Es. Chmod 710 prova.conf. (imposta i diritti rwx per l'utente solo l'esecuzione per il gruppo, niente per gli altri).

find

Eseguibile (/usr/bin/find)
Permette di ricercare file all'interno del filesystem.

find (path) (parametro).
Path = indica il percorso di inizio.
Parametro = puo' avere vari valori
-name "nome file" -> ricerca il file con il nome specificato ( e' possibile usare caratteri jolly)

per cercare e cancellare tutti i files core sparsi per il files eseguire il seguente comando :
find / -name core -type f -xdev -exec rm {} \;
per cercare e salvare la lista dei files che hanno gli attributi setuid e setgid settati, eseguire il seguente comando :
find / -type f \( -perm -4000 -o -perm -2000 \) > filesuidgid
2000 corrisponde a setgid e 4000 a setuid.

finger

Eseguibile (/usr/bin/chgrp)
Permette di visualizzare i dati di utente.

finger (nome utente)

alias

Comando shell
Permette di Associare un comando (con eventualmente parametri) ad una stringa.

Alias dir='ls-l -rt' con questo comando e' possibile usare 'dir' invece di scrivere ls.....

Unalias

Comando shell
Permette di togliere l'associazione impostata con alias

uname

Eseguibile (/bin/chgrp)
Permette di visualizzare informazioni sul sistema.

Uname (parametro)
-a (visualizza informazioni sul kernel data compilazione, versione ecc...)

le stesse informazioni e' possibile trovarle nel file /proc/version

dumpe2fs

Eseguibile (/sbin/dumpe2fs)
Permette di visualizzare informazioni sulla partizioni

dumpe2fs <device>

Tra queste informazioni esiste MAX MOUNT COUNT che corrisponde al numero di montaggi prima del check della partizione.

tune2fs

Eseguibile (/sbin/tune2fs)
Permette di settare informazioni sulla partizioni visualizzabili con dumpe2fs

tune2fs <parametri> <device>

Es. per variare il MAX MOUNT COUNT il comando e' tune2fs -c 20 /dev/hda2

mount

Eseguibile (/bin/mount)
Permette di montare un filesystem

mount -t <file system> <device> <punto di mount>
-a (monta tutti i device indicati in filesystem che non hanno il flag "noauto" impostato)

Es. per montare disco windows su hda1 il comando e' : mount -t vfat /dev/hda1 /mnt/win1 (dopo questo comando il contenuto del disco e' visibile in /mnt/win1.

Per evitare di scrivere tutte le informazioni ci si puo' avvalere del file /etc/fstab. Se configurato e' possibile indicare solamente il device o il punto di mount : es : mount /dev/hda1

I filesystems gestiti sono attualmente : minix, ext, ext2, xiafs, hpfs, fat, msdos, umsdos, vfat, proc, nfs, iso9660, smb, ncp, affs, ufs, sysv, xenix, coherent.

umount

Eseguibile (/bin/umount)
Permette di smontare un filesystem

umount <device|punto di mount>

Es. per smontare disco windows hda1 montato con mount su /mnt/win1 : si scrive umount /dev/hda1 oppure umount /mnt/win1

df

Eseguibile (/bin/df)
Permette di visualizzare lo spazio occupato e residuo dei device

du

Eseguibile (/usr/bin/df)
Permette di visualizzare lo spazio occupato da files e directory

mke2fs

Eseguibile (/sbin/mke2fs)
Permette di creare partizioni linux

mke2fs <device>

Es. per formattare un disco in formato linux digitare il comando : mke2fs /dev/fd0 dopo aver montato il floppy

history

Comando shell
Permette di visualizzare la storia dei comandi inviati da console.

history <N. comandi>

Es. history 10 visualizza gli ultimi 10 comandi inviati. Per richiamarne uno e' necessario scrivere il punto esclamativo seguito dal codice del comando (!198).

Il punto esclamativo e' possibile usarlo anche per richiamare l'ultimo comando digitato che inizia per il parametro dato : "!man" cerca nell'history l'ultimo comando man, e' possibile usare anche la radice del comando "!ma".

wget

Eseguibile (/usr/bin/wget)
Permette di scaricare in locale un sito web per la consultazione off-line

wget <opzioni> <url>
-r (esegue una ricerca ricursiva sulla pagina scaricando anche i link con una profondita' di default di 5)
-l <depth> (permette di variare la profondita' di ricerca)

Es. wget -r -l 3 http://www.redhat.com.

time

Eseguibile (/usr/bin/time)
Permette di visualizzare il tempo impiegato da un comando

time <comando>

Es. "time ls" visualizza il tempo richiesto e l'impegno della cpu ad eseguire il comando ls

ln

Eseguibile (/bin/ln)
Permette di creare link a file o directory

ln <opzioni> <file o dir> <link>
-s (Crea un link simbolico)

Es. "ln -s /usr/bin dirbin" con questo comando e' possibile accedere a /usr/bin anche tramite il link dirbin.

Senza il parametro -s si crea un collegamento fisico, cioe' due riferimenti nell'elenco delle directory che puntano allo stesso file, in questo caso un file verra' cancellato realmente quando tutti i link sono cancellati, la quantita' di link e' visualizzabile con il comando ls -l; non e' possibile creare questo tipo di link per le directory.

Con il parametro -s si crea invece un link simbolico al file o directory cioe' e' un file con al suo interno un riferimento al file, cioe' se il file principale verra' cancellato o rinominato il link non avra' piu' riferimenti validi.

ulimit

Comando shell
Permette di visualizzare o settare alcune impostazioni della shell console.

ulimit <opzione>

Es. ulimit -c 0 setta la dimensione massima dei files core a 0.

id

Eseguibile (/usr/bin/id)
Permette di visualizzare l'attuale nome login e il gruppo impostato, con i possibili gruppi permessi

id <nome utente>

whereis

Eseguibile (/usr/bin/whereis)
Cerca l'eseguibile e i files collegati (pagine di manuale) del comando passato come parametro.

whereis <comando>
-b (Cerca solo il file binario)

Es. "whereis ls" da come risultato : ls: /bin/ls /usr/man/man1/ls.1

insmod

rmmod

lsmod

modprobe

depmod

Eseguibili (/sbin)

Comandi per la gestione dei moduli del Kernel

Vedere la sezione Kernel per maggiori informazioni

fuser

Eseguibile (/sbin/fuser)
Visualizza informazioni sull'utilizzo dei files

fuser <nomefile>

fsck

Eseguibile (/sbin/fsck)
Permette il controllo fisico dei device.

fsck <opzioni> <filesystem>
-p (consolida il filesystem, i file persi vengono inseriti nella dir. lost&found)
-n (risponde no alle richieste di riparazione)
-y (risponde si alle richieste)
-f (esegue il controllo del filesystem)

rdev

Eseguibile (/usr/sbin/rdev)
Imposta quale deve essere la partizione root del sistema.

rdev <image> <root device>

es "rdev /dev/fd0 /dev/hda1" imposta su un floppy precedentemente caricato del Kernel con "cp /boot/<file Kernel> /dev/fd0" che la partizione di root e' hda1

chvt

Eseguibile (/usr/bin/chvt)
Permette di cambiare il terminale corrente

chvt <N. Terminale>

Il comando equivale alla pressione dei tasti ALT + <TASTO FUNZIONE F1...F6>

ishell

Eseguibile (/usr/bin/ispell)
Permette di verificare la correttezza ortografica di un file di testo.

ispell <file>
-d <dizionario> (usa un altro dizionario)

Di default utilizza la sintassi inglese ma e' possibile cambiare dizionario con il parametro -d :
es: "ispell -d italian /miofile" i dizionari devono essere contenuti nella directory /usr/lib/ispell

watch

Eseguibile (/usr/bin/watch)
Permette di eseguire un programma verificando l'andamento continuo verificato ogni N secondi

watch -n <secondi> <programma>

Es : "watch -n 1 cat /proc/loadavg" riporta sul terminale l'output di loadavg e lo aggiorna ogni secondo.

w

Eseguibile (/usr/bin/w)
Mostra chi e' loggato, cosa sta facendo ed altre informazioni

w <opzioni> <utente>

ldd

Eseguibile (/usr/bin/ldd)
Mostra le dipendenze dalle librerie di un programma.

ldd <programma>

vmstat

Eseguibile (/usr/bin/vmstat)
Mostra la situazione della memoria impiego cpu ecc...

vmstat <secondi intervallo>

Se eseguito senza parametro visualizza la situazione al momento, con l'intervallo in secondi rimane attivo indicando ogni N secondi la situazione.

Esempio di visualizzazione :

procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 1 21860 2064 1732 30888 4 7 12 4 261 281 2 1 97

Procs
r: Il numero di processo in attesa del run time.
b: Il numero di processi in sleep non interrompibile.
w: Il numero di processi swap out ma altrimenti runable.
Memory
swpd: il totale della memoria virtuale usata (kB).
free: il totale della memoria libera (kB).
buff: il totale della memoria usata come buffer (kB).
Swap
si: Il totale della memoria swappata dal disco (kB/s).
so: Il totale della memoria swappata nel disco (kB/s).
IO
bi: Blocchi inviati a un device a blocchi (blocchi/s).
bo: Blocchi ricevuti da un device a blocchi (blocchi/s).
System
in: Il numero di interrupt al secondo, incluso il clock.
cs: Il numero di cambi di contesto al secondo.
CPU
Queste sono le percentuali del tempo di CPU totale.
us: user time
sy: system time
id: idle time

Procinfo

Eseguibile (/usr/bin/procinfo)
Permette di verificare lo stato della memoria, irq, ed altre informazioni di prestazione del sistema

procinfo <opzioni>
-a (visualizza un dettaglio maggiore)

wc

Eseguibile (/usr/bin/wc)
Permette restituire il numero di righe parole etc.. da un input

wc <opzioni> (nome file)
-l (conta le linee del file)
-w (conta le parole del file)

hwclock

Eseguibile (/sbin/hwclock)
Permette di interrogare e settare l'orologio di sistema.

Chfn

Eseguibile (/usr/bin/chfn)
Permette di cambiare i dati di Finger da parte dell'utente.