Molti dei concetti qui esposti sono tratti dal libro "DaWindows a
Linux", ed. Apogeo, di Paolo Attivissimo (Il suo libro è
scaricabile gratuitamente all'indirizzo: Da Windows a Linux).
Le differenze che troverete tra i due sistemi operativi non debbono
spaventarvi. Il normale utilizzo avviene da interfaccia grafica; e
quest'ultima è molto simile nei due sistemi. E' bene
comunque
sapere fin dall'inizio alcune delle differenze tra i due sistemi, in
modo da non trovarsi troppo disorientati nell'uso quotidiano.
Una delle differenze più vistose è la parte
grafica. Non
perchè siano sostanzialmente diverse nei due sistemi
operativi,
ma perchè in Windows è un componente essenziale e
obbligatorio, mentre in Linux è un accessorio facoltativo.
Esistono moltissimi sistemi Linux (basta pensare ai server) in cui
l'interfaccia grafica non è nemmeno presente. E svolgono
meravigliosamente il loro compito.
La separazione tra l'interfaccia grafica e l'interfaccia testuale
è in Linux talmente netta che l'interfaccia grafica
è
considerata come un qualsiasi altro programma. All'interno di questo
programma, chiamato X, gira un altro programma, il 'Windows Manager
(KDE, Gnome, od altro, all'interno del quale girano i programmi che
necessitano della grafica.
Un'altra fondamentale differenza è questa: ogni versione di
Windows è un blocco unico. Il CD di Microsoft contiene tutti
i
componenti scritti per quella versione. I patch distribuiti
successivamente sono soltanto delle pezze create per chiudere buchi del
sistema. Ciò significa che il sistema verrà
aggiornato
solo con l'uscita di una nuova versione completa.
In Linux il discorso è completamente diverso. Ogni suo pezzo
cresce e si evolve separatamente ed è subito disponibile a
tutti
gli utenti. L'evoluzione di Windows procede a sbalzi, quella di Linux
è costante.
Questo tra l'altro significa che in Linux si può aggiornare
il
sistema, o parte di esso, mentre si sta tranquillamente lavorando,
senza necessità di doverlo riavviare. L'aggiornamento ha
effetto
alla successiva apertura del programma interessato o al successivo
riavvio del sistema.
Altra differenza: in Windows siamo abituati a distinguere chiaramente
fra dischi rigidi, modems, stampanti, monitor, ecc. e sappiamo
benissimo che non hanno niente a che vedere con files e cartelle.
In Linux le cose sono molto diverse. Tutti gli elementi sono un file.
Esattamente come ho detto: il disco rigido per Linux è un
file,
il modem è un file, una cartella è un file, ecc..
Questo approccio, inizialmente disorientante, ha i suoi vantaggi: la
gestione di questi elementi avviene tutta nello stesso modo rendendo
più snello il funzionamento di Linux.
Una delle conseguenze pratiche è che in Linux i nomi dei
dispositivi sono tutti nomi di files.
Eccone alcuni:
Porte seriali
Windows
Linux
COM1
/dev/ttyS0
COM2
/dev/ttyS1
COM3
/dev/ttyS2
COM4
/dev/ttyS3
Porte parallele
Windows
Linux
LPT1:
/dev/lp0
LPT2:
/dev/lp1
Floppy
Windows
Linux
A:
/dev/fd0
B:
/dev/fd1
CD-ROM
Windows
Linux
D:
/dev/hdc
E:
/dev/hdd
...
Dischi rigidi
In Windows vengono indicati con delle lettere. Facciamo alcuni esempi.
Avete un solo disco rigido con un'unica partizione. Windows
chiamerà quella partizione con la lettera C:.
Linux la indicherà come /dev/hda1, dove h indica che si
tratta
di un disco IDE (se fosse stato scasi lo avrebbe chiamato sda1); a
indica che è il primo disco rigido (il secondo è
b, il
terzo c, ecc.) ed 1 indica che si tratta della prima partizione.
Se adesso aggiungete una seconda partizione a quel disco, Windows
vedrà le due partizioni come C: e D:, mentre il CD-ROM
diventerà E:, mentre Linux le vedrà come
/dev/hda1 e
/dev/hda2 e il CD-ROM resterà /dev/hdc.
Ancora qualche considerazione sui dispositivi. Mount
I vari dispositivi (floppies, dischi rigidi, CD-Roms, ecc.) in Linux
vengono ignorati fino a che non gli viene detto di prenderli in
considerazione (cosa che può anche avvenire in modo
automatico).
Il tutto avviene con il comando 'mount' (monta) che specifica il tipo
di dispositivo, come utilizzarlo e dove visualizzarlo. Il comando
contrario è 'umount' (smonta).
I parametri relativi al montaggio vengono memorizzati nel file di testo
'fstab' che si trova nella directory /etc.
Il perchè di questo comportamento è molto
semplice: si
vuole evitare che l'inserimento di un supporto CD-ROM) possa avviare
all'insaputa dell'utente programmi pericolosi (in Windows il file
autorun.inf viene eseguito automaticamente ogni volta che si inserisce
il CD-ROM che lo contiene e può avviare qualsiasi programma
che
sia stato indicato nel file stesso: ad esempio, cosa già
avvenuta, il programmino Back Orifice, potentissimo strumento di
sorveglianza e manutenzione, che consegna il vostro computere nelle
mani di qualche sconosciuto.
Il fatto poi che per poter togliere il CD-ROM dobbiate prima smontarlo
(umount /dev/hdc) vi protegge da eventuali crash del sistema (provate a
togliere un CD-ROM da Windows mentre un programma lo sta usando).
Maiuscole e minuscole
Windows può usare maiuscole e minuscole, ma non le
distingue.
Per lui i files prova.txt e Prova.txt sono la stessa cosa.
Linux riconosce e distingue le maiuscole dalle minuscole. I files
prova.txt e Prova.txt sono per Linux due files diversi e distinti e
pertanto possono coesistere nelle stessa directory. Questo
può
inizialmente portare ad errori. Ad esempio in windows potete lanciare
il programma notepad.exe indifferentemente coi comendi:
c:\Windows\notepad.exe, \windows\NOTEpad.exe o \WINDOWS\notepad.EXE. In
Linux il nome delle directories e dei files deve invece rispettare
esattamente le maiuscole e le minuscole, altrimenti non otterrete nulla.
Estensioni
Windows usa le estensioni per sapere di che tipo di file si tratta:
tutti i documenti Word finiscono con .doc, i fogli di calcolo Excel con
.xls e così via.
Linux no. Linux riconosce i tipi di file usando il 'magic number', vale
a dire una sequenza di byte presente all'inizio del file.
Così,
ad esempio, se all'inizio del file trova la sequenza '0xffd8', Linux sa
che il file in questione è un'immagine in formato jpeg, a
prescindere dall'estensione che può avere.
Le uniche estensioni usate da Linux sono: un punto che precede il file
e che segnala al sistema che si tratta di un file (o directory)
nascosto, e la tilde come estensione finale che indica trattarsi di una
copia.
L'estensione viene comunque usata per permettere all'utilizzatore di
capire di cosa si tratta e può avere lunghezza qualunque.
Slash e Backslash
Se osservate attentamente i nomi dei files Linux che ho scritto
più sopra, avrete certamente notato che, a differenza di
Windows, viene usato il carattere "/" e non il carattere "\" tipico del
sistema operativo Microsoft.
Perchè?
Il motivo è molto semplice: Linux rispetta gli standards.
Il sistema Unix, infatti, sistema da cui deriva Linux, era operativo
molto, ma molto tempo prima che arrivasse Windows. E utilizzava (e
utilizza tuttora) per l'appunto il carattere "/" . Se ci fate caso lo
stesso carattere viene utilizzato anche su Internet dal momento che
è nata su macchine Unix e Windows è arrivato dopo.