|
Creare una versione Live di Linux su chiavetta USB |
|
Con il software OpenSource UNetbootin (http://unetbootin.sourceforge.net/) è possibile creare una chiavetta USB da cui fare il boot del sistema con una delle diverse distribuzioni di Linux, senza la necessità di creare un CD. Basta scaricare l'immagine ISO della distribuzione e installare poi Linux sulla chiavetta USB attraverso il programma UNetbootin. |
|
Operatori di confronto con numeri decimali in Bash shell |
|
Gli operatori di confronto -eq -lt -gt -ge, ... si possono utilizzare solo con i numeri interi; per i numeri decimali si può utilizzare il programma bc -l passando ad esso l'espressione di confronto che produce il valore 0 (falso) o il valore 1 (vero):
$ a=12.6
$ b=4.5
$ echo "$a<$b" | bc -l
0
$ echo "$a>$b" | bc -l
1
$ echo "$a==$b" | bc -l
0
$ b=12.6
$ echo "$a==$b" | bc -l
1 |
|
Calcoli con numeri decimali in Bash shell |
|
$ a=144
$ echo $a
144
$ echo "sqrt($a)"
sqrt(144)
$ echo "sqrt($a)"|bc -l
12.00000000000000000000
$ risultato=`echo "sqrt($a)"|bc -l`
$ echo $risultato
12.00000000000000000000
$ a=3
$ b=4
$ c=-2
$ echo "$b*$b-4*$a*$c"
4*4-4*3*-2
$ echo "$b*$b-4*$a*$c"|bc -l
40
$ delta=`echo "$b*$b-4*$a*$c"|bc -l`
$ echo $delta
40
$ a=12.4
$ b=6.7
$ c=-4.5
$ delta=`echo "$b*$b-4*$a*$c"|bc -l`
$ echo $delta
268.09
Per determinare il numero di cifre decimale si usa scale:
$ a=144
$ echo "scale=2;sqrt($a)" | bc -l
12.00
$ somma=254
$ conta=18
$ media=`echo "scale=2;$somma/$conta"|bc -l`
$ echo $media
14.11
Si può anche creare uno script a cui passare come parametro l'espressione da calcolare:
$ vi calc
#!/bin/bash
# calcolatrice
echo "scale=2;$1" | bc -l; exit
$ chmod +x calc
$ ./calc 3*89.8
269.4
$ ./calc 1.2*1.2
1.44 |
|
Radici di un'equazione di secondo grado |
|
#!/bin/bash
# equazione secondo grado
a=$1
b=$2
c=$3
delta=`echo "scale=2;$b*$b-4*$a*$c" | bc -l`
echo "delta = $delta"
diff=`echo "$delta>=0" | bc -l`
if [ $diff -eq 1 ]
then
rdelta=`echo "scale=2;sqrt($delta)" | bc -l`
x1=`echo "scale=2;(-1*$b+$rdelta)/(2*$a)" | bc -l`
echo "prima radice = $x1"
x2=`echo "scale=2;(-1*$b-$rdelta)/(2*$a)" | bc -l`
echo "seconda radice = $x2"
diff=`echo "$x1==$x2" | bc -l`
if [ $diff -eq 1 ]
then
echo 'soluzioni coincidenti'
fi
else
echo 'nessuna soluzione'
fi |
|
Eliminare partizione Linux su computer in dual boot |
|
Per eliminare una partizione Linux su un computer che ha il dual boot; eliminare GRUB e ripristinare il boot loader di Windows:
1) inserire il CD di installazione di Windows XP e fare il boot da CD
2) parte lo schermo blu e il caricamento dei driver
3) al termine chiede cosa si vuole fare:
premere il tasto R (ripristino o recupero)
4) scrivere il numero di sistema da ripristinare (normalmente 1)
5) chiede la password di amministrazione della macchina
6) viene attivata la linea comandi;
dare i comandi
fixboot (confermare con y)
fixmbr (confermare con y)
exit
7) il sistema viene riavviato con il boot di Windows XP
Per recuperare al partizione:
1) Pannello di controllo, Strumenti di amministrazione, Gestione computer, Gestione disco
2) tasto destro sulla partizione (sconosciuta):
Elimina partizione
3) tasto destro sullo spazio liberato: Nuova partizione
4) scegliere la lettera associata alla partizione e lanciare la formattazione (NTFS).
|
|
Copiare tutti i file comprese le sottodirectory |
|
$ cp -a /dir_sorgente/* /dir_destinazione |
|
Informazioni sull'hardware in Linux |
|
Come fare a ottenere informazioni su CPU e RAM di un sistema Linux:
per la CPU:
$ cat /proc/cpuinfo
per la RAM:
$ cat /proc/meminfo
per la versione di Linux (kernel e distribuzione)
$ cat /proc/version |
|
Usare vi all'interno di uno shell script |
|
Esempio: Sostituzione in
tutte le righe di un testo, il cui nome viene fornito come argomento
del comando, di tutte le occorrenze di Milano con Roma.
(simula il comportamento del comando sed:
sed 's/Milano/Roma/g' nomefile)
#!/bin/bash
# sostituzioni
vi $1 <<EOF >/dev/null
:1,\$ s/Milano/Roma/g
:x
EOF
- $1 è il nome del file di testo
- <<EOF significa che lo standard input
viene ridiretto dal testo dello script stesso fino a che viene
letta la riga contenente i caratteri EOF
- >/dev/null indica che l'output viene ridiretto
sul file fittizio di output
- le righe che iniziano con il : sono comandi
di vi; la prima effettua la sostituzione, la seconda
fa uscire da vi
|
|
Usare la memory stick USB (penna) con Linux |
|
# mkdir /mnt/penna
# modprobe usb-storage
# fdisk /dev/sda
p per vedere
q per uscire
# mount -t vfat /dev/sda1 /mnt/penna
# cd /mnt/penna
# ls
# cd
# umount /mnt/penna |
|
|