Comandi



MANUALINUX


1a)COMANDI COMUNI PER MUOVERE I PRIMI PASSI SU LINUX
2a)COMANDI VARI
3a)OCCUPAZIONE DEL DISCO
4a)I PROCESSI
5a)RAM
6a)MANIPOLAZIONE DEI DIRITTI DI ACCESSO
7a)MANIPOLAZIONE DEI DIRITTI DI ACCESSO - METODO ALTERNATIVO
8a)CAMBIARE LA PROPRIETA' DI UN FILE
9a)CREARE ED AGGIUNGERE GRUPPI ED UTENTI
10a)FORMATTARE FLOPPY
11a)CONTROLLARE L'EFFICIENZA DEI DISCHI IDE
12a)HARDWARE INSTALLATO

1a)COMANDI COMUNI PER MUOVERE I PRIMI PASSI SU LINUX

Questo vale per tutti i comandi:
1 - I comandi dati possono essere riscritti, sulla riga di comando, semplicemente premendo i tasti di direzione.
2 - Tramite il comando "history" e' possibile vedere tutti i comandi dati, se dopo gli viene inserito un numero, visualizza gli ultimi n. comandi dati
(es. history 14 ;visualizza gli ultimi 14 comandi)
3 - Spesso lanciando dei comandi, si generano file di testo. Per uscirne, bisogna premere "q" oppure, qualora si voglia fermarne il processo perche' l'esecuzione del comando genera caratteri incomprensibili o non vengono accettati altri input da tastiera, bisogna premere "Ctrl+c".
4 - Spesso, i comandi lanciati, forniscono una serie di dati che superano la visualizzazione di una sola schermata, mostrando cosi', solo una parte di essi. Per ovviare a questo fenomeno, si usa una opzione "|more" o "| less" aggiunta alla fine del comando (ls -la | more) oppure dopo il nome del file (cat nomefile | more).
5 - Inoltre, dopo avere utilizzato alcune procedure sopracitate, bisogna sapere che premendo il tasto "Invio", continua la visualizzazione per riga e premendo il tasto "space" continua per pagina.

PER DIRECTORY
cd = cd (da solo) torna nella homedir (~ o $HOME)
cd .. = porta alla directory precedente (da cui dipende)
cd / = torna alla radice da qualsiasi punto ci si trovi
ls = visualizza il contenuto di una directory orizzontalmente
ls | more = visualizza il contenuto x pagina e verticalmente
(tramite enter prosegue con una singola linea x volta)
(tramite space prosegue x pagina)
ls -l = l'opzione -l visualizza molti dettagli
ls -la = l'opzione -a visualizza le directory precedute da un punto
(questo e' il comando consigliato)
cp -av = copia intere directory
es. partenza (/usr) destinazione (/mnt/dove_vuoi_tu)
cp -r = per copiare directory
mkdir = per creare una directory
rmdir = per rimuovere directory vuote
rm -r = elimina le dir/sottodir e tutto in esse contenuto
rm -r -f = elimina le dir/sottodir e tutto in esse contenuto senza chiedere conferma
pwd = per controllare in quale directory ci si trova
tree nomedir = visualizza le directory dipendenti da quella indicata
reset = se xterm non risponde più ai comandi, il camando reset lo sbloccherà

PER FILE
cp = per copiare file
rm = per cancellare i file
mv = per spostare/rinominare file
mv nome nomenuovo = rinomina il file (es. mv cri.txt cro.txt)
mv nomefile /nomedir = sposta il file nella dir indicata
(es. mv cri.txt /usr)
cat nomefile = mostra il contenuto di un file
touch nomefile = per creare un file vuoto all'istante
wc = per vedere le statistiche su un file di testo.
split = per dividere un file in più parti.
diff = per trovare la differenza di testo all'interno di 2 files (es. diff 1.txt 2.txt)

AGGIORNARE ORA E DATA
hwclock --set --date='12/27/2014 18:55:01'
date -s '12/27/2014 18:55:01'

OTTENERE LA LISTA DEGLI UTENTI E GRUPPI
for i in `cat /etc/passwd | cut -d: -f1` ; do id $i ; done

Per bloccare un utente linux basta digitare: passwd -l nome_utente
Per sbloccare un utente linux basta digitare: passwd -u nome_utente

PER IL SISTEMA
shutdown -r now = riavvio del sistema
reboot = come sopra
shutdown -h now = chiusura del sistema
halt = come sopra
halt -p = fa shutdown e spegne il sistema
exit = chiude la consolle
startx = avvia l'esecuzione del server grafico
ctrl+alt+backspace = riavvia la modalita' grafica riportando al login iniziale
ctrl+alt+F1 = apre una consolle non emulata
ctrl+alt+F7 = passa semplicemente sullo screen 0 se c'e' un server X attivo. Non chiude la console da cui si proviene.

PER HELP E INFORMAZIONI
- comandi
nomecomando --help = mostra la sintassi del comando (un aiuto generico)
man nomecomando = mostra la spiegazione in dettagli
(enter ;prosegue per linea - space ;per pagina -
q ;per uscire e tornare alla riga di comando)
info nomecomando = idem

- file installati
makewhatis = crea un database con le informazioni che riguardano i file installati (senza visualizzare nulla), poi con il comando
" apropos tipofile " viene restituito un elenco di quello che riguarda il tipo di file (es. apropos edit).

- X server
Per sapere quale Xsever si sta usando, andare in /etc/X11/ e dare il comando ls -la ,guardare dove punta il link --> l'ultimo file indica l'X server usato*

- kernel
uname -a = per sapere la versione del kernel

- sistema e kernel
lsmod = visualizza i moduli caricati nel kernel
du -h = quantita' di spazio usata nella directory e sottodirectory in kb e mb.
top = mostra i processi in uso dalla cpu (per interrompre Ctrl+c).
ps aux = Visualizza i programmi e demoni in corso con i relativi pid
pidof nome programma/demone (per es. pidof kdm)
df = mostra le partizioni montate
free -mt = mostra la memoria ram e swap occupata, libera e totali
free (-t ;x i totali -m ;x i megabytes)
Se linux non vede tutta la ram che avete (per es. 128M) allora aggiungete questa riga nel file /etc/lilo.conf tra (default e keytable)
append = "mem=128M" Salvate il file e digitate lilo, riavviate il pc ed una volta tornati a linux digitate "free".

uname = mostra le informazioni sul sistema.
uname -m = tipo di macchina
uname -n = nome della macchina sulla rete
uname -r = release del sistema operativo (versione kernel)
uname -s = nome del sistema operativo
uname -v = versione del sistema operativo
uname -a = riepilogo generale delle opzioni sopra descritte

PER FLOPPY E CDROM
mount -t tipofilesyistem /dev/fd0 directory = monta il floppy formattato nel tipo x nella tal dir ( vfat per windows; msdos per -msdos- dos; hfs per mac )
eject /dev/device = espelle il cdrom o il masterizzatore (es. eject /dev/hdc oppure eject /dev/scd1)

ALTRI COMANDI PER LA VISUALIZZAZIONE DI FILE E PRECISAZIONI
Oltre al comando "cat", ci sono altri comandi, spesso piu' utili, per visualizzare il contenuto di un file.
more nomefile = per i file di grandi dimensioni

oppure
less nomefile

Es.
Digitare:
more /dev/hda = verra' visalizzata la mappa delle partizioni
less /dev/hda = viene visualizzato di aggiungere l'opzione -f
less -f /dev/hda = questo e' il caso in cui non si capisce nulla
(premere "q")
cat /dev/hda = questo e' il caso in cui bisogna fermare il processo (Ctrl+c)

IL CARATTERE JOLLY "*"
* = significa tutto
Se introdotto a fianco di una parola, fa riferimento alla parola e quelle che hanno caratteri aggiunti
es. pippo* = pippo pippo1 pippociao pippopluto pippo..............

Bisogna stare attenti quando lo si usa per eliminare file o directory, perche', un comando sbagliato come:
"rm pippo * "; elimina il file pippo e anche tutti i file dentro quella directory. Meglio controllare con:
ls -a pippo* prima di cancellare qualcosa; in questa maniera, si potra' controllare cosa verra' eliminato.

IL COMANDO CAT
(precisazioni)

Puo' essere usato per creare
file di testo :
cat > nomefile
digitare il testo
ctrl+d = per chiudere il file
cat nomefile = per guardare il contenuto del file

Puo' essere usato per riassemblare files divisi o unire vari files :
es.
cat file1.txt file2.txt file3.txt > ris.txt

IL COMANDO CP
(precisazioni)

Puo' essere usato anche per trasferire un file esistente in un file che viene creato all'istante:
cp fileesistente file creatoadesso

La stessa cosa avviene per le directory
cp -r diresistente dircreataadesso

I COLLEGAMENTI
ln nome nomelink = per creare collegamenti fisici
ln -s nome nomelink = per creare collegamenti simbolici

2a)COMANDI VARI
pushd (Dice in che directory eravate prima)
popd (vi porta nella directory dove eravate prima)
cd - (come sopra)

3a)OCCUPAZIONE DEL DISCO
du -h (per visualizzare la quantita' in kilobyte e megabyte)

4a)I PROCESSI
& (da mettere a fine riga di comando) per eseguire un comando in background ossia dietro le quinte e darà questo risultato:
[3] 32566 Dove 3 e' il numero del processo mentre 32566 e' l'ID del processo.

&& (da inserire tra 2 comandi, il secondo comando si avvierà solo quando il primo sarà terminato, ad esempio dir && top).

bg (avvia il comando in background, la sintassi è: bg numero_id_del_comando).
fg (esegue un processo con priorità alta, la sintassi è: fg numero_id_del_comando).

nohup (esegue un comando anche se si è usciti dalla sessione o è stata persa la connessione, la sintassi è: nohup dir &), alla fine creerà un file chiamato nohup.out con all'interno il risultato del comando.

ps -ax = per visualizzare i processi in memoria.
kill = per uccidere un processo (con kill -l si visualizzano i segnali da mandare a morte.
kill -9 (n°processo) = forza la morte del processo.
killall = uccide tutti i processi).

5a)RAM
Per poter visualizzare la ram scrivere:
free
Per avere informazioni sulla ram utilizzata scrivere:
top
Controllare la parte in alto a sinistra dello schermo.

6a)MANIPOLAZIONE DEI DIRITTI DI ACCESSO
Se un file o una directory è di mia proprietà allora posso impostare a mio piacimento i suoi attributi (= diritti di accesso). Il comando per fare ciò è chmod (change modes). La sua sintassi è la seguente:
chmod chi azione cosa nomefile
dove:
il parametro chi può essere u (user) g (groups) o (others) a (all)
il parametro azione può essere + (aggiungere) - (togliere)
il parametro cosa può essere r (read) w (write) x (execute)
il campo nomefile è il file o la directory oggetto del cambiamento.
(*) all indica contemporaneamente i tre tipi di utente.
Vediamo ora degli esempi pratici.Supponiamo di voler aggiungere accesso, lettura e scrittura a tutti nella directory.
drwx------ verdi users 512 pippo
Il modo più semplice è:
chmod a+rwx pippo
ovvero a parole "aggiungi (+) a tutti (a) lettura (r) scrittura (w) e accesso (x) al file pippo " (che poi è una directory perché c'è d).
Il risultato è:
drwxrwxrwx verdi users 512 pippo
Altro esempio. Supponiamo di voler rendere il file
-r-------- verdi users 4096 paperino
leggibile da tutti e scrivibile solo dal proprietario :
chmod a+r paperino
chmod u+w paperino
E il risultato è:
-rw-r--r-- verdi users 4096 paperino
Altro esempio. Supponiamo di avere il file
-rw-rw-rw- rossi superuser 1234 pluto
Se eseguiamo:
chmod o-rw pluto
invece di ottenere:
-rw-rw---- rossi superuser 1234 pluto
si ottiene il messaggio:
Permission denied
Questo perché io (verdi) sto tentando di modificare gli attributi di un file che non mi appartiene (è di rossi)

7a)MANIPOLAZIONE DEI DIRITTI DI ACCESSO - METODO ALTERNATIVO
Un metodo più sbrigativo per assegnare gli attributi ad un file si basa su questo ragionamento. Supponiamo di attribuire dei valori
numerici ai permessi possibili:
Lettura = 4 (r)
Scrittura = 2 (w)
Esecuzione = 1 (x)

(Ricordatevi che per una directory x significa accesso). In tale maniera, eseguendo delle semplicissime somme:
0 = Nessun permesso -
1 = Esecuzione x
2 = Scrittura w
3 = Scrittura + Esecuzione wx
4 = Lettura r
5 = Lettura + Esecuzione rx
6 = Lettura + Scrittura rw
7 = Lettura + Scrittura + Esecuzione rwx

Se affianchiamo i tre codici di accesso user / groups / others
otteniamo dei numeri di tre cifre, ognuna delle quali indica i permessi di ogni tipo di utente in modo sintetico. Per esempio:
rwxrwxrwx 777
rw-rw-rw- 666
r--r--r-- 444
rwx------ 700
rw-r--r-- 644

e così via.... Perciò è possibile inglobare in un solo colpo tutti gli accessi di ogni singolo tipo di utente. Esiste allora la sintassi
alternativa di chmod:
chmod codice nomefile

Esempio. Il secondo esempio sulla prima sintassi di chmod voleva
trasformare
-r-------- verdi users 4096 paperino

nel file:
-rw-r--r-- verdi users 4096 paperino

e necessitava di 2 chmod consecutivi, il primo per assegnare a+r e il secondo per assegnare u+w. Con la sintassi alternativa di chmod è
possibile fare il tutto in un solo colpo, usando:

chmod a+r,u+w paperino -#-#-#-(attenzione alla virgola)-#-#-#-

oppure nella maniera più semplice:

chmod 644 paperino

8a)CAMBIARE LA PROPRIETA' DI UN FILE
Se sono proprietario di un file e volessi "regalarlo" a qualcuno, cioè fare in modo che questo qualcuno ne divenga il nuovo proprietario, esiste il comando chown (change owner). La sua sintassi è:
chown nuovoproprietario.nuovogruppo file
Vediamo gli esempi. Supponiamo che rossi, dopo aver depositato nella mia directory il file:
-rw-rw-rw- rossi superuser 1234 pluto
voglia fare in modo che esso divenga di mia proprietà. Dovrà allora eseguire:
chown verdi.users pluto
Il risultato sarà:
-rw-rw-rw- verdi users 1234 pluto

9a)CREARE ED AGGIUNGERE GRUPPI ED UTENTI
Fare tutto come utente root.
Ad es. creare un gruppo chiamato supporto:
groupadd supporto

Ad es. creare un utente ed inserirlo nel gruppo supporto
useradd utente -c (commento) -d (home directory) -g (gruppo)
useradd cristian -c ordinato -d /reparto -g supporto

Adesso bisogna inserire una password:
passwd cristian

E' possibile usare anche:
adduser (completo di tutto, pure di inserimento password).
Verranno proposti i parametri di default , sono possibili delle modifiche.

Modificare il gruppo di appartenenza di un utente:
usermod -gnome_gruppo cristian

Inserire l'utente in altri gruppi:
usermode -Ggruppo1 gruppo2 gruppo3 cristian

Per eliminare utente e gruppo scrivere:
groupdel supporto
userdel cristian (usando userdel -r verranno cancellati tutti i files e la directory dell'utente)

10a)FORMATTARE FLOPPY
Classica formattazione:
fdformat /dev/fd0H1440 formatta il drive A: a 1440 kb
fdformat /dev/fd1h1200 formatta il drive B: a 1.2 Mb
fdformat /dev/fd0H720 formatta il drive A: a 720 kb

Per cercare blocchi danneggiati:
badblocks /dev/fd0H1440

Formattare un floppy per msdos o per win:
fdformat /dev/fd0H1440 && mkfs -t msdos /dev/fd0
fdformat /dev/fd0H1440 && mkfs -t vfat /dev/fd0

11a)CONTROLLARE L'EFFICIENZA DEI DISCHI IDE
Un grazie a Riccardo Pelizzi (r.pelizzi@virgilio.it)
Controllare l'efficienza dei propri dischi ide.
nota: queste opzioni possono danneggiare i vostri dischi ide
Se il dispositivo ide (che può essere sia un hard disk sia un cd-rom sia un dvd) e la vostra scheda madre sono recenti, il vostro disco supporta la modalità di trasferimento a 32-bit, la modalità ultra-DMA e l'irq unmasking. Il kernel è molto conservativo sotto questo punto di vista (poichè attivando queste opzioni su schede o su dispositivi che non le supportano si rischia di rovinarli) e se non ci ha pensato la vostra distro a configurare a puntino i vostri dischi, lo faremo noi con il comando hdparm:
-Capire a che dispositivo corrisponde ciascun disco usiamo il comando:
hdparm -i /dev/hdX
dove X sta per il dispositivo che dovete controllare. Di solito sono a, b, c, d.
Una delle prime voci di output sarà il modello del vostro dispositivo, così potrete capire che dispositivo IDE state interrogando.
-Controlliamo che il supporto per il nostro chipset sia attivo. Non sarà possibile interagire con i dischi senza avere il supporto per il proprio chipset
integrato nel kernel o caricato come modulo. Per esempio avendo un chipset Via ed avendo compilato il driver come modulo, prima di ogni altra operazione bisogna scrivere "modprobe via82cxxx".
-Controlliamo lo stato dei nostri dischi. Il comando:
hdparm /dev/hdX
darà un output simile a questo:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 9964/255/63, sectors = 160086528, start = 0
Questo è l'output di un disco che dovrebbe essere già configurato a puntino. L'unica opzione importante ma non visibile da questo menù è la modalità udma. Con il comando precedente potete vedere se la modalità dma è attivata, ma non che modalità è attivata.
Ma a questo penseremo alla fine.
-Configuriamo il nostro dispositivo
Cominciamo dando il comando:
hdparm -t /dev/hdX
e segnatevi il vostro transfer rate. Se IO_Support è uguale a 0, attiviamolo con il comando:
hdparm -c1 /dev/hdX.
Alcune combinazioni di schede madri / dispositivi richiedono il parametro c3. Questa opzione dovrebbe da sola raddoppiare il transfer rate del vostro dispositivo. Unmaskirq serve per mantenere il sistema operativo "responsive" (come lo traduco? Scattante? Pronto? Sono orribili...)
mentre si legge dal dispositivo, utile soprattutto per cd/dvd. Si attiva con:
hdparm -u1 /dev/hdX
E ora passiamo alla parte più interessante: la modalità dma. Date il comando:
hdparm -t /dev/hdX
dopo ogni operazione.
Ogni operazione dovrebbe aumentare il vostro transfer rate. Se così non è, dovrete tornare all'opzione precedente, perchè la corrente non è supportata. Cominciamo con:
hdparm -d1 /dev/hdX
Questa opzione non porta necessariamente ad un aumento di prestazioni, se non è stata attivata una modalità dma valida: andiamo a settarla.
Questa è la tabella dei parametri da fornire ad hdparm (rubata ai gentili signori della intel):
(ATA/33) -X66
(ATA/66) -X68
(ATA/100) -X69
Per esempio per attivare la modalità ATA/66, date il comando:
hdparm -X68 /dev/hdX.
C'è un ultima opzione da settare, un poco più pericolosa delle altre: multicount. Date il comando:
hdparm -i /dev/hdX
e leggete la voce max_multicount. Sarà il valore da settare come:
hdparm -mY /dev/hdX
Ovviamente questa opzione non è settabile per i cd/dvd che hanno una sola testina, il laser. A questo punto dovreste avere un transfer rate di almeno 40MB al secondo con un disco ATA/66. Confrontatelo con quello ottenuto prima di ogni operazione. Godete o rimanete impassibili a seconda del risultato :-)
NOTA: Queste opzioni non sono permanenti, per cui dovrete mettere tutti i vostri bei comandi in uno script e eseguirlo all'avvio mettendo il nome del file in fondo a:
/etc/rc.d/rc.local

12a)HARDWARE INSTALLATO
Dare i seguenti comandi come utente root:
lspci
dmesg
cat /proc/cpuinfo
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++