Il sistema operativo più semplice: MS-DOS
 Il PC ha bisogno di un programma che gli consenta di




“comunicare” con l’utente per ricevere i comandi da
eseguire e per presentare i risultati prodotti: questo è
quanto è percepito dall’utente
In realtà il S.O. deve essere in grado di gestire tutte le parti
del PC e di renderle disponibili per eseguire gli altri
programmi, deve anche essere in grado di lanciare un
programma
Il sistema operativo è, in generale, il software che si
incarica di fare da “interprete” tra uomo e calcolatore
MS-DOS è un sistema operativo per Personal Computer
La sigla sta per Microsoft-Disk Operating System
MS-DOS
 Non esistono praticamente in commercio PC che installino DOS, però





Windows conserva la console (che si lancia con cmd.exe) che permette
di interagire direttamente con l’interprete dei comandi. Però esistono
SO che si basano fortemente sull’interazione con la console (Linux)
Il DOS mette a disposizione dell’utente una serie di comandi
I comandi sono, in generale, introdotti usando la tastiera
Prima di poter eseguire un nuovo comando è necessario aspettare la
terminazione del precedente
Per segnalare all’utente che è pronto ad accettare un comando, il
sistema operativo presenta quello che viene chiamato PROMPT di
sistema
Tutto ciò è utile a capire il fatto che i SO, e il software in genere è un
sistema a cipolla
MS-DOS
 Ogni volta che il sistema è pronto ad accettare un
comando vi sarà il cursore lampeggiante
prompt di sistema
cursore lampeggiante
C:\DOS>_
MS-DOS
 La sintassi generale di un comando DOS è:
COMANDO parametri [opzioni]
 Non tutti i comandi hanno parametri; ad esempio il
comando di cancellazione dello schermo CLS è senza
parametri
 Non tutti i comandi hanno delle opzioni; queste possono
anche essere omesse. Le parentesi [ ] (da non digitare nel
comando) racchiudono le opzioni
 L’interprete in genere è abbastanza robusto: es. se
inseriamo un comando che non esiste ‘pippo’, ci sarà un
messaggio d’errore: “pippo” non è riconosciuto come
comando interno o esterno, un programma eseguibile o
un file batch.
MS-DOS
 Osservazioni:
Un comando DOS viene eseguito, cioè è inviato
al PC, solo dopo aver battuto il tasto di INVIO
(altrimenti detto ENTER o RETURN o )
Il DOS non fa distinzione tra lettere maiuscole e
minuscole (si dice che: non è case sensitive)
Dopo ogni comando DOS, prima dei parametri e
opzioni, si deve lasciare almeno uno spazio
(blank)
MS-DOS
 Il DOS offriva all’utente una interfaccia puramente
testuale (ossia a caratteri), Windows vi aggiunge una
interfaccia grafica (diciamo che tutte le funzionalità che
sono disponibili a riga di comando, sono arricchite di una
GUI, che è maggiormente user friendly)
 Il DOS, oltre a mettere a disposizione una serie di comandi,
“predispone” il PC affinché possano essere eseguiti anche
altri programmi non appartenenti al sistema operativo
stesso, ad es.
 programmi commerciali
 programmi creati dall’utente
I file
 L’unità elementare di informazione che il calcolatore è
in grado di comprendere è il bit (0|1)
 Tutti i dati vengono trasformati in sequenze ordinate
di bit
 Per memorizzare più sequenze di bit in un disco è
necessario che queste non si mescolino
 Le sequenze vengono raggruppate in appositi
“contenitori” detti file
 Non tutti i file sono uguali
 I file si dividono in due categorie:
 file di testo
 file binari
I file
 I file di testo sono quelli composti che possono
essere interpretati usando la codifica ASCII
 I file di testo possono essere letti e scritti con un
qualunque editor (ad esempio EDIT di DOS)
 I file binari sono invece memorizzati con una
codifica che è diversa a seconda del programma
che ha generato il file
 I file binari non possono essere né letti né
modificati con un normale editor (non è vero, ma è
meglio non farlo)
I file
 Il comando TYPE del DOS serve per visualizzare il
contenuto di un file di testo
 Se si cerca di leggere un file binario come se fosse un file
di testo, le informazioni in esso contenute sarebbero
interpretate come in codice ASCII pur non essendo tali
 Il risultato di tale operazione sarebbe impredicibile, in
quanto apparirebbero caratteri strani senza alcun
significato apparente (se uno è fortunato trova anche i
caratteri che fanno partire l’altoparlante di sistema e
sente qualche bip)
I file
 Ad ogni file viene associato un nome per distinguerlo
dagli altri
 In DOS ‘puro’ i nomi dei file possono essere lunghi da 1
a 8 caratteri, seguiti da un punto e da una estenzione di
al massimo 3 caratteri (il famoso 8+3)
 i caratteri possono essere alfa-numerici più alcuni caratteri
“speciali”: £, $, %, &, _ , etc.
 N.B. Non essendo il DOS case sensisitive è indifferente
specificare il nome del file scrivendolo in maiuscolo o in
minuscolo
 In Windows non c’è spazio alla fantasia (si possono
mettere anche gli spazi), ci sono solo alcuni caratteri
proibiti: \/:*?<>| (per ragioni storiche)
I file
 Per aumentare le possibilità di diversificare i nomi dei
file, e soprattutto per indicare in modo omogeneo gli
stessi tipi di file, è possibile specificare una estensione
 In DOS l’estensione del file può essere lunga al più tre
caratteri ed è separata dal nome dal carattere “.”
 Un file deve sempre avere un nome mentre può non
avere un’estensione
 Esempi
PIPPO.TXT
PLUTO
RADICE.C
I file
 Alcune estensioni tipiche:
.txt file di testo
.doc file del programma MS-Word
.c file di codice in linguaggio C
.xls file contenente una tabella del programma MS-Excel
 I file che possono essere mandati in esecuzione (in
gergo “lanciati”) devono avere una di queste tre
estensioni (anche in Windows):
.COM
.EXE
.BAT
I file
 I file con estensione .BAT sono dei file di testo
contenenti i nomi di comandi da eseguire in
sequenza, tali file sono detti file batch
 Invece di digitare tutte le volte la sequenza di
comandi da tastiera, si possono elencare i nomi
dei comandi da eseguire in un file batch e poi
solo questo viene mandato in esecuzione (questo
lancia tutti gli altri nell’ordine indicato)
Le directory
 Per catalogare più
efficientemente le
informazioni, si possono
raggruppare i file in qualche
modo correlati tra loro
 I file possono essere
raggruppati (collocati) in
“contenitori” chiamati
directory (nell’analogia con lo
schedario sono i cassetti)
Directory
File
Le directory
 Una directory ha un nome (max 8 caratteri e un’estensione
opzionale - stesse regole viste per i file). In Windows
ovviamente vale tutto quanto detto prima. E’ simpatico notare
però come lanciando un comando edit (p.e.) da una directory
con nome lungo, al ritorno si abbia il nome in formato ridotto
con all’interno alcune tilde ~.
 Le directory possono a loro volta contenere altre directory
(subdirectory):
 la struttura gerarchica che si viene a creare ha la forma di un albero
rovesciato (che è come si rappresentano in informatica gli alberi)
 la radice dell’albero (root), che in MS-DOS si indica con il simbolo \
(back slash), è una directory creata alla formattazione (preparazione)
del disco
 La struttura delle directory e i file costituiscono quello che
viene chiamato file system
Le directory
 Teoricamente non esistono limiti per i livelli di
annidamento, ma in pratica il limite è imposto dai
dispositivi fisici (non è facilmente raggiungibile)
 Esempio di albero di directory e file (file system)
\
APPUNTI
GIOCHI
FISICA DATI.TXT
PROVA.C
TENNIS SCACCHI
SUONO
MUSICA.WAV
Le directory
 Quando viene creata una nuova directory,
automaticamente vengono generate due directory
speciali:
.. è un semplice riferimento alla directory padre
(cioè quella al livello immediatamente superiore)
. è un semplice riferimento alla directory stessa
 Osservazione: La directory .. non è definita per
la directory radice
Il pathname
 Per poter identificare un file in un file system
non è quindi sufficiente specificare solo il suo
nome e la sua estensione:
bisogna anche indicare in quale directory si
trova
 Per specificare univocamente la directory dove si
trova il file bisogna indicare tutta la sequenza di
directory dalla radice del file system fino alla
directory contenente il file stesso
Il pathname assoluto
 La sequenza di directory che parte dalla radice
del file system viene chiamata pathname
assoluto
 E’ possibile “percorrere” l’albero delle directory
 La directory dove ci si trova in un dato momento
è detta directory corrente (o di lavoro)
Il pathname relativo
 Un pathname è relativo quando invece di partire
dalla radice del file system, si riferisce alla
directory corrente (il corrispondente pathname
assoluto viene calcolato dal sistema)
Il pathname
 In DOS i nomi delle directory che compongono un
pathname sono separati gli uni dagli altri dal
carattere “\”. In Windows funziona sia \che /
 I pathname assoluti iniziano sempre con il
carattere “\” (che identifica la radice del file
system)
 Esempio (riferito alla struttura ad albero mostrata
in precedenza)
Il file MUSICA.WAV viene specificato in modo
assoluto così:
\GIOCHI\TENNIS\SUONO\MUSICA.WAV
Il pathname
 Esempi (riferito alla struttura ad albero mostrata in
precedenza)
a) Si supponga che la directory corrente sia
SCACCHI, il file MUSICA.WAV viene specificato
in modo relativo come:
..\TENNIS\SUONO\MUSICA.WAV
 la parte iniziale ..\ indica che dalla directory SCACCHI
si risale di un livello (la directory padre, qui è GIOCHI)
b) Si supponga che la directory corrente sia
TENNIS, il file MUSICA.WAV viene specificato
in modo relativo come:
SUONO\MUSICA.WAV
Il pathname
 Due file possono avere lo stesso nome purché
non siano contenuti nella stessa directory
 Due directory possono avere lo stesso nome
purché non abbiano la stessa directory padre
\
APPUNTI
GIOCHI
FISICA DATI.TXT
MUSICA.WAV
PROVA.C
TENNIS SCACCHI
SUONO
MUSICA.WAV
Unita’ logiche
 Il DOS utilizza più file system: ad ogni unità logica
(disco) corrisponde un file system
 Le unità logiche sono specificate con lettere (non importa
se maiuscole o minuscole) seguite dal carattere “:”
 Il lettore di floppy ha associata la lettera A:
 il secondo lettore di floppy (probabilmente si può vedere a
bordo di qualche vecchia macchina), se presente, la lettera B:
 le altre unità logiche le lettere a partire dalla C: in avanti
 D: il secondo HD, o in sua mancanza il lettore CD|DVD
Unita’ logiche
 Quando si hanno più dischi, per identificare
univocamente un file è necessario indicare anche
in quale disco si trova il file system
 Esempio
Supponendo che il file system visto in precedenza
si trovi nel disco identificato dalla lettera C:,
allora il file MUSICA.WAV viene specificato (qui in
modo assoluto) in questo modo:
C:\GIOCHI\TENNIS\SUONO\MUSICA.WAV
Unita’ logiche
 In realtà un singolo hard disk può contenere più di un
file system: il disco viene suddiviso (partizionato) in più
parti e ogni parte viene trattata come un disco
indipendente
 A cosa serve partizionare?
 Per cambiare il disco corrente (ossia passare da una
unità logica ad un’altra) si digita al prompt la lettera
dell’unità che si desidera raggiungere seguita da “:”
 Esempio
Per raggiungere il disco C basta digitare
C: (seguito da INVIO)
Unita’ logiche
 Il prompt standard indica l’unità corrente
seguita dalla directory corrente; in questo modo
l’utente ha sempre l’indicazione della sua
posizione nel file system
 Esempio
C:\GIOCHI\SCACCHI>
 Nel caso venga specificata un’unità non esistente
il sistema operativo risponde con un messaggio
di errore segnalando che l’unità prescelta è
inesistente e chiedendo una nuova unità valida
Caratteri jolly
 I caratteri jolly possono essere usati per indicare più file
contemporaneamente
 Sostituiscono delle parti di nome o di estensione comuni
a un gruppo di file
 il carattere ‘*’ sostituisce una stringa (sequenza di caratteri) di
lunghezza qualunque (anche nulla) a partire dalla posizione in
cui è inserito
 il carattere ‘?’ sostituisce esattamente un carattere in
corrispondenza della posizione in cui è inserito
 In Windows, nelle versioni più recenti (a partire da XP)
c’è la completion automatica del comando
Caratteri jolly
 Si supponga di avere tre file:
 conti.bat
 paghe.dat
 prezzi.dat
 Con il comando COPY si vogliono copiare tutti i
file che iniziano con la lettera P e con qualunque
estensione:
COPY P*.* destinazione
 Si vogliono copiare tutti i file che hanno nome
qualunque ed estensione che termina con at
COPY *.?at destinazione
Comando ATTRIB
 Nome comando:
ATTRIB
 Funzione:
permette di visualizzare e modificare gli attributi di uno o più
file
 Sintassi:
ATTRIB [+R|-R][+A|-A][+H|-H][+S|-S]
[unità][path]nomi_file
 Note:
R= sola lettura; A= archivio;
H= nascosto; S= file di sistema
 Esempi:
ATTRIB *.*
ATTRIB +R DATI.TXT
ATTRIB -H HIDDEN.DAT
Comando CD
 Nome comando:
CD o CHDIR
 Funzione:
cambia la directory di lavoro;
senza parametri visualizza il nome della directory corrente
 Sintassi:
CD [path]
 Nota: il cammino specificato (path) può essere assoluto o
relativo (ma solo in riferimento all’unità corrente)
 Esempi:
CD
CD
CD
\MSDOS\UTIL
..\PIPPO
.. (passa alla directory padre, di quella attuale)
Comando CLS
 Nome comando:
CLS
 Funzione:
cancella lo schermo
 Sintassi:
CLS
 Nota:
restituisce il prompt di sistema in alto a sinistra
Comando COPY
 Nome comando:
COPY
 Funzione:
copia uno o più file in un’altra posizione o concatena
una lista di file
 Sintassi:
COPY origine destinazione
COPY file1 + file2 +… + file-n tuttoqui
 Nota: nel caso venga usato per concatenare due o
più file (+), COPY restituisce il nome dei file uniti
mentre procede nella concatenazione
Comando COPY
 Esempi:
copy c:\game\dati.txt c:\copia.txt
copy ..\..\fax.doc fax.doc
copy a:\*.* c:\backup
copy c:\compiti.* a:\dati\scuola
copy c:\autoexec.b?t .
copy dati1.txt+dati2.txt dati12.txt
Comando DEL
 Nome comando:
DEL o ERASE
 Funzione:
cancella i file specificati come parametro
 Sintassi:
DEL [unità][path]nome_file
ERASE [unità][path]nome_file
 Nota: con l’opzione /P il comando DEL chiede conferma
per la cancellazione
 Esempi:
DEL c:\dati\cifre.dat
DEL ..\lucidi.ppt
DEL program.bat
Comando DELTREE
 Nome comando:
DELTREE
 Funzione:
cancella la directory specificata e tutte le sue sotto directory
 Sintassi:
DELTREE [unità][path]nome_dir
 Nota:
con l’opzione /Y non chiede conferma per la
cancellazione
 Esempi:
DELTREE C:\DATI\
DELTREE ..\LUCIDI
DELTREE PROGRAM
Comando DIR
 Nome comando:
DIR
 Funzione:
visualizza il contenuto della directory specificata
 Sintassi:
DIR [unità][path][nome_dir]
 Note:
con l’opzione /P visualizza una schermata alla volta;
con /W visualizza fino a 5 nomi per riga
 Esempi:
DIR C:\DATI\ /P
DIR /W
DIR ..\..\COMPITI
Comando DISKCOPY
 Nome comando:
DISKCOPY
 Funzione:
copia il contenuto di un floppy dall’unità di partenza
a quella di destinazione
 Sintassi:
DISKCOPY [unità1 [unità2] ]
 Note: il floppy di destinazione può anche non
essere formattato (viene formattato al momento);
eventuali dati presenti sull’unità di destinazione
verranno persi
 Esempi:
DISKCOPY A: B:
DISKCOPY A: A:
Comando EDIT
 Nome comando:
EDIT
 Funzione:
attiva un editor di file testuali
 Sintassi:
EDIT [unità][path][nome_file]
 Nota:EDIT può aprire fino a 9 file contemporaneamente;
si passa da un file all’altro con la combinazione ALT
<numero>
 Esempi:
EDIT C:\SCUOLA\COMPITO.TXT
EDIT PROVA.FOR
EDIT FILE1.TXT FILE2.TXT
Comando FORMAT
 Nome comando:
FORMAT
 Funzione:
predispone il disco nell’unità specificata per “accettare” file di
MS-DOS
 Sintassi:
FORMAT unità
 Note: l’opzione /F:dimensione permette di selezionare la
capacità del disco da formattare. L’opzione /S permette di
formattare un floppy di sistema operativo
 Esempi:
FORMAT
FORMAT
A:
B: /F:720
Comando HELP
 Nome comando:
HELP
 Funzione:
accede ad una guida on-line dei comandi di MS-DOS
 Sintassi:
HELP [comando]
 Nota: non specificando un comando presenta la lista di
tutti gli argomenti disponibili
 Esempi:
HELP
HELP COPY
Comando KEYB
 Nome comando:
KEYB
 Funzione:
permette di configurare la tastiera a seconda della lingua scelta
 Sintassi:
KEYB [parametro]
 Nota:
non specificando un parametro visualizza il tipo di
tastiera corrente
 Esempi:
KEYB IT configura la tastiera italiana
 N.B. questo comando non è più abilitato in Windows
Comando MD
 Nome comando:
MD o MKDIR
 Funzione:
crea una directory dal nome specificato
 Sintassi:
MD [unità][path]nome_directory
 Nota:
se si cerca di creare una directory già esistente
questo viene segnalato con un messaggio di errore
 Esempi:
MD
MD
C:\CORSI\FONDINFO
CORSI
Comando MORE
 Nome comando:
MORE
 Funzione:
permette di visualizzare l’uscita di un comando una
schermata per volta
 Sintassi:
comando | MORE
 Esempi:
DIR C:\CORSI | MORE
TYPE DATI.TXT | MORE
Comando MOVE
 Nome comando:
MOVE
 Funzione:
permette di spostare uno o più file nella posizione specificata
 Sintassi:
MOVE [unità][path]origine
[unità][path]destinazione
 Note:
può anche essere usato per cambiare nome alle directory;
non era presente nelle vecchie versioni del DOS
 Esempi:
 MOVE A:\*.*
 MOVE LUCIDI
C:\BACKUP
SLIDE
Comando PRINT
 Nome comando:
PRINT
 Funzione:
permette di stampare dei file
 Sintassi:
PRINT [/D:device] [drive:][path]filename[...]]
 Esempi:
 PRINT LPR: c:\dati.txt
 N.B. Questo funziona ancora, ma è un
reperto
Comando RD
 Nome comando:
RD o RMDIR
 Funzione:
permette di eliminare una directory specificata
 Sintassi:
RD [unità][path]nome_directory
 Nota:
la directory specificata non può essere eliminata se non
vuota
 Esempi:
 RD
APPUNTI
 RMDIR C:\UTIL\DATI
 RD ..\..\SLIDE
Comando REN
 Nome comando:
REN o RENAME
 Funzione:
permette di cambiare nome ad un file specificato
 Sintassi:
REN [unità][path]nome1 nome2
RENAME [unità][path]nome1 nome2
 Nota:
il comando non può essere utilizzato per spostare i file
 Esempi:
REN C:\DATI1.TXT
REN TABELLA1.TXT
DATI2.TXT
TAB.DAT
Comando TREE
 Nome comando:
TREE
 Funzione:
permette di visualizzare graficamente una struttura di file e
sotto-directory
 Sintassi:
TREE [unità][path][dir o unità disco]
 Nota
il comando visualizza anche i file quando è specificata
l’opzione /F
 Esempi:
TREE C:\WINDOWS
TREE C:\MSDOS /F
Comando TYPE
 Nome comando:
TYPE
 Funzione:
permette di visualizzare il contenuto di un file testuale
 Sintassi:
TYPE [unità][path]nome_file
 Nota:
TYPE non permette di modificare il file visualizzato
 Esempi:
TYPE C:\COMPITO.TXT
TYPE PROVA.FOR
TYPE A:\FILE1.TXT
Comando UNDELETE
 Nome comando:
UNDELETE
 Funzione:
permette di recuperare i file cancellati in precedenza con DEL,
quelli cancellati con erase dovrebbero essere
irrimediabilmente persi
 Sintassi:
UNDELETE [unità][path]nomi_file
 Nota:
il ripristino dei file non è sempre possibile e, comunque,
dovrebbe essere tentato il prima possibile
 Esempi:
UNDELETE *.*
UNDELETE C:\MSDOS\*.FOR
Comando XCOPY
 Nome comando:
XCOPY
 Funzione:
permette di copiare tutti i file di una directory più le sotto
directory
 Sintassi:
XCOPY origine destinazione
 Nota:
per copiare anche le sotto-directory bisogna usare
l’opzione /S altrimenti si comporta come COPY
 Esempi:
XCOPY A:\BIN C:\BIN /S
Esercizi
 Sia data la seguente configurazione di file e
directory:
C:\
APPUNTI
TEMP
DATI.TXT COPIA1.TXT
SCUOLA
GAME
COPIA2.TXT
DOOM F1.EXE
ALLIEVI.TXT
COMPITI.DAT
F1
SOUND
Esercizio 1
 Si scriva una sequenza di comandi DOS per
creare sul disco C la struttura del file system
presentata sul lucido precedente. Per ogni
comando si indichi anche il prompt di DOS.
Esercizio 2
 Supponendo di trovarsi nella directory <TEMP>,
senza spostarsi dalla directory, copiare il file
ALLIEVI.TXT nella directory <F1>
 L’esercizio può essere risolto usando riferimenti
assoluti:
COPY \APPUNTI\SCUOLA\ALLIEVI.TXT \GAME\F1
 oppure relativi:
COPY ..\APPUNTI\SCUOLA\ALLIEVI.TXT ..\GAME\F1
 Attenzione Ad essere precisi, dopo F1 bisognerebbe
aggiungere il carattere \ in quanto se la directory
F1 non esistesse, verrebbe creato un file di nome F1,
copia di ALLIEVI.TXT
Esercizio 3
 Indipendentemente dalla propria posizione nel
file system, con un solo comando, cancellare il
file DATI.TXT
 In questo caso bisogna usare un riferimento
assoluto, in quanto non è nota la posizione corrente
all’interno del file system
DEL C:\APPUNTI\DATI.TXT
Esercizio 4
 Supponendo di essere nella directory <SOUND>,
spostare tutti i file da <TEMP> alla directory in
cui ci si trova
 Si possono adottare due diverse soluzioni:
COPY C:\TEMP\*.*
.
DEL C:\TEMP\*.*
 oppure:
MOVE C:\TEMP\*.*
.
Scarica

Introduzione a DOS