Note sull'interfaccia a linea di comando dell'MS-DOS

Il File System del DOS consente all'utente di organizzare le informazioni sulle memorie di massa disponibili, tramite apposite istruzioni da digitare in una console dei comandi (interfaccia a caratteri, tipica di una "sessione pura" MS-DOS; sotto Windows avviabile con "Esegui/ command", oppure con "Start/ Programmi/ Prompt di MS-DOS).

Per riferire le risorse, occorre indicarne il percorso completo (path) in una linea di comando. Nel caso di files generici, si tratta di un'espressione del tipo:

UNITA'_DISCO:\ DIRECTORY\ SUBDIRECTORY\...\nomefile.ext

dove:

Questo meccanismo consente di individuare univocamente anche files con lo stesso nome, purchè residenti in directories differenti; ad esempio è ammessa la coesistenza di due files "file1.dat" con i seguenti percorsi completi distinti:

C:\subd2\file1.dat

C:\subd2\subd3\file1.dat

Nell'interfaccia MS-DOS, normalmente il prompt (la stringa che precede il cursore lampeggiante, punto di inserimento dei comandi) indica l'unità disco e la directory correnti, cui vengono riferite le azioni dei comandi in mancanza di diverse specificazioni.

Ad esempio, se il prompt indica

C:\>_

il DOS assume che l'espressione

\subdirectory2\subd3

in cui non è specificata l'unità disco, sia riferita proprio all'unità disco corrente C:.

Analogamente, se il prompt indica

C:\WINDOWS>_

il comando DOS

DIR

produce una lista dei files e delle directories contenuti nella directory corrente "Windows".

Il comando "DIR" è uno dei tanti appartenenti all'insieme di istruzioni MS-DOS; affinchè l'immissione abbia successo, è necessario osservare scrupolosamente la giusta sintassi, che in generale ha un formato del tipo (le parentesi quadre indicano solitamente una parte opzionale):

COMANDO [OGGETTI] [PARAMETRI]

 

dove:

Per risorse si può intendere sia files o cartelle, ma anche files di periferiche (device files), cioè entità viste dal DOS a tutti gli effetti come normali files, ma corrispondenti in realtà a dispositivi fisici come interfacce hardware e dispositivi di input/ output.

I più comuni device files sotto DOS sono:

E'importante notare che i device files, come del resto le unità disco, sono indicati sempre utilizzando il carattere ":", per distinguerli, almeno concettualmente, dagli altri file generici.

Ad ogni unità disco, il DOS inoltre associa un indice (directory) di default, cioè la directory di riferimento per le azioni dei comandi in difetto (in mancanza) di precisazioni da parte dell'utente. In altri termini, un indice di default è la directory cui accede il DOS quando l'utente fa riferimento ad una determinata unità disco senza specificare una directory. All'avvio del sistema, la directory radice (root) di ogni unità disco viene solitamente assunta come directory di default.

Per impostare (cambiare) la directory di default di un'unità disco si esegue il comando:

>CD [unità:] [percorso]

Il comando "CD" da solo visualizza la directory di default dell'unità disco corrente.

Gli esempi seguenti dovrebbero fornire ulteriori chiarimenti.

C:\>DIR C:\WINDOWS /P

L'unità disco corrente è C:, la directory corrente è la directory principale (root) del disco C:; il comando "DIR" col parametro "/P" produce la lista dei files e delle cartelle contenute nella cartella "Windows" del disco C: una pagina per volta.

C:\>CD DOCUMENTI

Viene impostata la cartella "Documenti" come nuova directory di default per l'unità corrente (C:). Il prompt apparirà come:

C:\DOCUMENTI>_

Per impostare come disco corrente l'unità floppy basta digitare adesso:

C:\DOCUMENTI>A:

Il prompt riporterà l'indice di default dell'unità A: (ad es. l'indice principale, root):

A:\>_

Per copiare un ipotetico file "dati1.txt", posto nella root di A:, nella cartella "Documenti" del disco C:, basta scrivere:

A:\>COPY DATI1.TXT C:

Se si reimposta come unità corrente il disco C:

A:\>C:

il prompt ne riporterà anche la directory di default:

C:\DOCUMENTI>_

 

Redirezione dell'input e dell'output

E'possibile forzare l'input o l'output standard dei comandi tramite gli operatori di redirezione "<" ed ">". In altri termini, per i comandi si può specificare un input od un output standard diversi da quelli di default propri del comando.

A seconda dei casi quindi i comandi sono espressi come

COMANDO [<][INPUT] [>][OUTPUT]

Ad esempio, il comando

C:\>DIR C:\WINDOWS

produce la visualizzazione sull'output standard di default per il comando "DIR" (lo schermo) dell'indice dei files della cartella "Windows", mentre

C:\>DIR C:\WINDOWS > C:\DOCUMENTI\LIST1.DAT

non mostra la lista dei files sullo schermo ma crea un file "list1.dat" nella cartella "Documenti" del disco C: contenente l'output del comando "DIR". In questo caso si ha una redirezione dell'output.

Ancora, l'input standard di default del comando "MORE" è la tastiera, l'output standard lo schermo; il comando

C:\>MORE > TEST1.TXT

invia l'input da tastiera (sino all'introduzione del codice di fine file con CTRL+Z) al file "test1.txt", mentre

C:\>MORE < TEST1.TXT > TEXT2.TXT

crea un file "text2.txt" (o lo sovrascrive se già esistente) e vi riversa il contenuto di "test1.txt". "MORE <" è un caso di redirezione dell'input.

 

PIPES

E'possibile passare l'output di un comando all'input di un altro comando tramite un collegamento virtuale chiamato "pipe", indicato col simbolo "|". Tramite questo operatore è possibile concatenare una serie di comandi, sfruttandone gli effetti in cascata.

In generale nell'espressione:

COMANDO1 | COMANDO2 | ... | COMANDOn

l'output del comando1 viene passato all'input del comando2, l'output del comando2 viene passato all'input del comando3, e così via. Ad esempio:

C:\>DIR C:\WINDOWS | SORT | MORE

visualizza il contenuto della cartella "Windows", in ordine alfabetico, una pagina per volta.