Breve sommario DOS con cenni a Unix
Come accedere al laboratorio: Login
Ogni studente riceve una login ed una password che permettono di accedere
al sistema. Il processo di entrata nel sistema si dice solitamnete
login e quello di uscita logout. Il lavoro che si fa tra un
login e un logout si indica correntemente con il termine di
sessione. Per ogni problema di accesso rivolgetevi al tecnico di
laboratorio o scrivetegli.
Disketti, disco fisso e disco in rete
I computer che si trovano in laboratorio hanno un drive per dischetti (A:)
un disco fisso locale (C:) e sono collegati ad altri dischi in rete (Z:).
Ognuna di queste risorse va usata in modo appropriato.
Ecco alcune indicazioni per un uso corretto:
- Z:
- disco fisso accessibile in rete contenente le home directories
degli utenti: é facilmente saturabile perchè ogni utente
ha assegnata una quota massima di 3MB. Il tentativo di memorizzare
dati in quantità superiore alla quota massima stabilita
genera un errore.
Va quindi utilizzato con parsimonia per mantenere i dati privati, tra
una sessione e l' altra.
- C:\temp
- area temporanea sul disco fisso presente sulla macchina su cui
é stata aperta la sessione di lavoro. L'accesso al disco C:
risulta molto veloce non coinvolgendo la rete. Solo questa parte del
disco C: é accessibile in scrittura.
Deve essere usata per contenere dati temporanei di grandi dimensioni
(ad esempio eseguibili VHDL) e poi "ripulita" prima del logout, quando
si lascia il laboratorio.
- C: (il resto delle directories)
- disco fisso accessibile in sola lettura, contiene i vari materiali
didattici (testi di esercizi, programmi, manuali, ecc.).
- A:
- Drive per dischetti (da non usarsi con dischetti vecchi o
malandati).
Come fermare il PC
Può capitare che il PC non risponda più ai comandi (di solito
a seguito di errate manovre da parte dell'utente, a volte a causa di
veri e propri errori di programmazione delle applicazioni usate).
In questi casi diventa allora opportuno tentare di fermare il programma che
sta causando i problemi con le seguenti interruzioni:
- Ctrl-C (oppure Ctrl-Break)
- Ferma il programma ma non ferma il sistema
- Ctrl-Alt-Del
- Permette di fermare il sistema in DOS e permette di fermare il
programma mediante l'attivazione di una "finestra di comando" in
Windows. In entrambi i casi con Ctrl-Alt-Del é facile perdere
parte del lavoro fatto.
- Tasto di reset
- Ferma il sistema e pulisce la memoria per il DOS (da NON
usare quando é attivo il sistema Windows NT o 95,
pena la possibile perdita di MOLTI dati).
Formato dei comandi
In DOS e in UNIX l'interazione tra utente e sistema avviene mediante
linee di comando (ad es. PRINT unfile.txt).
- I comandi hanno generalmente la forma:
<comando>/<opzione1>/<opzione2>/<argomenti>
Le opzioni sono necessarie per rendere più flessibile l'utilizzo
di un comando, modificandone il comportamento rispetto ad uno schema
di base.
La lista delle opzioni applicabili si ottiene talvolta digitando il solo
nome del comando, seguito eventualmente da /help /? -h o
-help, a seconda dei casi.
In Unix le opzioni sono precedute dal carattere "-",
in DOS sono precedute dal carattere "/" come ad esempio DIR/P
(si noti che nei nomi di files DOS si usa "\" da non confondere con "/"
che precede le opzioni)
- I comandi DOS sono case insensitive
In DOS dunque print, PRINT o pRiNt
vengono interpretati allo stesso modo (non così in Unix)
- Il DOS accetta abbreviazioni dei comandi
per certi comandi si possono usare delle abbreviazioni ad esempio
REN basta per eseguire il comando RENAME
- Documentazione
É disponibile un semplice Tutorial
sul DOS (in inglese).
Comandi per la gestione dei dischi
Precauzioni
- NON ESTRARRE il dischetto quando la luce del drive é accesa.
- NON INSERIRE il dischetto prima di accendere il PC
- USARE il write protect per evitare di cancellare dischetti con dati
importanti
Principali comandi per la gestione dei dischi
- FORMAT <d:> /F:<size> 720 1440 /U /Q
prima di usare un dischetto bisogna "formattarlo" (ossia predisporlo
ad ospitare i dati nel formato riconosciuto dal sistema operativo).
Bisogna usare il giusto formato rispetto a quello che si é
comprato.
Per i floppy a doppia densità (DD) si aggiungerà
l'opzione /F:720.
Per i floppy ad alta densità (HD) si aggiungerà
/F:1440 (oppure nulla, perché 1440 é il
valore di default).
- CHKDSK <d:>
verifica se il disco <d:> ha un formato corretto
- DISKCOPY <d1:> <d2:>
copia il contenuto di un dischetto nel drive d1 sul dischetto nel
drive d2 (il cui contenuto viene irrimediabilmente perso).
d1 e d2 possono essere lo stesso drive, nel qual caso il sistema ci
chiederà di alternare il dischetto sorgente e quello su cui
copiare o destinazione.
Directories e comandi relativi
Tanto il DOS che Unix che le varie versioni di Windows organizzano i dati
in unità con un nome simbolico dette Files.
Il nome di un file in DOS ha la forma <nome>.<estensione>,
dove il nome deve avere al più otto caratteri e l'estensione ha
sempre e comunque o zero o tre caratteri.
Queste limitazioni, grosso modo, non ci sono più in Windows NT
o 95 e non ci sono mai state in Unix.
Quindi pippo.txt sarà un nome valido in DOS mentre
spiderman.prn o paperino.html non lo saranno.
Tutti questi sistemi operativi organizzano i files in maniera
gerarchica, nel senso che un certo numero di files può
essere raggruppato in collezioni (o "cartelle") dette directories.
La gerarchia può avere più di un livello, nel senso che
una directory può contenere a sua volta altre directories.
Questa gerarchia inizia con la directory principale o
radice o root del disco che si indica col simbolo "\"
(ad esempio C:\ é la radice del disco C).
Vediamo ora i comandi per gestire questa gerarchia:
- MD oppure MKDIR <path>
crea una directory che si va a collocare esattamente nel <path>
specificato. Per esempio md f:\vhdl\tests
crea sul drive F una directory di nome tests come sotto-directory
della directory chiamata "vhdl" (che deve essere già presente,
pena la segnalazione di un errore).
Nota bene: In DOS si usa "\" nel path e si usa "/" per separare
le opzioni dai comandi. In Unix, invece, "/" si usa nel path per separare
i nomy delle directories.
- RMDIR oppure RD <path>
Cancella la directory <path> a patto che sia vuota
- CD <path>
cambia la directory di default dove il sistema cerca i file ogni
qualvolta ne ha bisogno, ovvero la directory legata alla sessione
di lavoro. Se vogliamo cambiare il disco di lavoro dobbiamo
semplicemente digitare il nome del disco. Ad esempio Z:
ci porta a lavorare sul disco Z. Nei comandi possiamo usare poi
Z: o C: per indicare la nostra directory di
default su C o Z.
Ad esempio digitando C: dal prompt del DOS finiremo nella
directory su C dove eravamo l'ultima volta che, durante questa sessione,
abbiamo lavorato sul disco C.
- CD ..
ci porta nella directory che sta sopra quella in cui siamo
- Il prompt ci dice qual'é la directory di default attuale
- DIR (ls in Unix) /P /S <file>
Questo comando mostra gli attributi di uno o più file.
Le opzioni /P e /S ci permettono rispettivamente di avere una pausa
nel listato se questo eccede le dimensioni dello schermo e di
includere sottodirectory nel listato.
- TREE <d:> <path>
Mostra tutta la struttura delle directory a partire dalla directory
<path>
Gestione dei files
I Files sono il modo in cui il sistema operativo organizza e conserva
collezioni di dati e/o programmi.
Ogni file ha un nome che permette di citarlo nei comandi che operano sui
files.
Più files possono essere indicati in maniera sintetica usando dei
caratteri speciali detti wildcards.
- Nomi
In DOS i files hanno nomi composti da al più 8+3=11 caratteri,
di cui i primi otto caratteri costituiscono il nome vero e proprio
e sono separati dagli altri mediante un punto.
I rimanenti 3 caratteri sono la cosiddetta estensione, che ha
lo scopo di rappresentare il tipo di dati contenuti nel file.
- nomi generici, wildcard ? e *
Nei comandi DOS si possono citare gruppi di files che abbiano un nome
con certe caratteristiche. Il carattere * sta per "niente, oppure uno
o piu caratteri qualsiasi".
Il carattere ? sta per "un carattere qualsiasi".
Ad Esempio: DIR *.txt farà vedere le caratteristiche
di tutti i files con estensione ".txt";
DIR p?pp?.txt farà vedere le caratteristiche
solo dei files "pappa.txt", "pappe.txt", ... "pippo.txt", ...
"poppa.txt" ...
I comandi più importanti
- VERIFY ON/OFF
Se ON obbliga il sistema a verificare che ogni operazione di scrittura
su disco sia andata a buon fine.
É bene avere VERIFY ON se si copiano dati con un COPY su dischetti.
Notiamo che anche se VERIFY é ON é possibile produrre
dischetti con dati non perfettamente registrati operando con programmi
che scrivono direttamente sui dischetti.
Per essere sicuri di avere i dati sul dischetto é bene registrarli
sempre e solo con COPY.
- COPY <d1:path1> <d2:path2> (cp in Unix)
Crea una copia di un file dandogli un altro nome.
Il primo file si dice "source" il secondo "target".
(Ad esempio: COPY pippo.txt A:\topolino ovvero
COPY pippo.txt A:\topolino\pippo.txt
fanno la stessa cosa, cioé creano il file "pippo.txt" nella
sottodirectory "topolino" del disco A:)
- COPY <d1:path1>+<d2:path2>+...
[<d:><target>]
Copia i files separati da + concatenandoli in un nuovo file di nome
"target".
Se non si specifica il target si rovina il primo file perché
il tutto viene ricopiato nel primo file <d1:path1>
- DEL /P (rm in Unix)
Cancella uno o più files.
Per cancellare più files si possono usare nomi generici.
Ad esempio se si vogliono cancellare tutti i files con estensione
txt occorre dare il comando DEL *.txt.
Se c'é l'opzione /P il comando chiede conferma
prima di cancellare i files.
- Cancellazioni accidentali
Se si é accidentalmente cancellato un file, niente paura!
Lo si può recuperare con il comando UNDELETE a patto di non
aver creato altri files dopo la cancellazione accidentale.
Questo perché il DOS riusa subito l'ultimo spazio disco
liberatosi.
Non si riesce a recuperare il file se si é cancellata anche
la directory che lo conteneva (... quindi non resta che ribatterne
pazientemente il contenuto, a meno che abbiate avuto l'accortezza
di farne una copia di backup).
- XCOPY <d1:path1> <d2:path2>
/E /S /V
Copia le directory, i files in esse contenute, e fa lo stesso per le
sottodirectory.
Il significato delle opzioni é il seguente:
- /E copia directory vuote
- /S copia le sottodirectory
- /V verifica in scrittura
Comandi per i files contenenti testi
- TYPE <file> (cat in Unix)
Mostra sullo schermo il contenuto di un file. Lo scorrere del listato
può essere interrotto e riavviato agendo su Ctrl-S, Scroll-Lock,
ctrl-Q, oppure mettendo questo comando "in pipe" con "more", scrivendo:
TYPE pippo.txt|MORE
- FGREP <pattern> <files> (comando nativo Unix)
Questo comando (Shareware) ricerca nei files
specificati tutte le occorrenze delle stringhe che rientrano nel pattern
dato. Ad esempio FGREP rem c:\*.bat trova tutte le linee che
contengono la stringa ''rem'' nei file con estensione ".bat" nella
directory principale di "C:". Per una versione più potente di
FGREP si provi ad usare GREP (anch'esso
Shareware).
- DIFF <d1:path1> <d2:path2> (comando nativo
Unix)
esamina tutti i files elencati in path1 e path2 e segnala i file
mancanti, e per quelli presenti sia in path1 che in path2 segnala
le linee diverse.
(é anche questa un'applicazione
Shareware).
Composizione di Comandi
In generale i comandi mandano il loro output sul video, tuttavia é
possibile ridirigere l'output di un comando o in un file con il simbolo
> oppure usare tale output come input di un altro comando con il
simbolo pipe |. Vediamo alcuni esempi.
DIR c:\ /S >lista.txt manda la lista dei files in
c:\ nel file "lista.txt"
DIR c:\ /S|MORE manda l'output attraverso l'applicazione
MORE che fa vedere il tutto, una schermata alla volta, fermandosi quando
lo schermo é pieno.
Archiviazione, Compressione e un po' di Crossover DOS-Unix
Spesso e volentieri ci si trova con il problema di salvare su dischetto
una certa quantità di dati, organizzati su più files,
magari ordinati in più directories.
Per risolvere questo problema si usano i comandi elencati qui di seguito.
La presentazione é chiaramente ridondante poiché sovente
il problema da risolvere non é tanto quello dell'archiviazione
quanto quello dell'apertura di un archivio che ci é stato consegnato
da altri.
In questo senso é necessario conoscere almeno le principali
alternative per l'archiviazione.
In generale in ambiente DOS/Windows i formati zip rappresentano uno standard
consolidato, mentre in ambiente Unix si é affermato prima il formato
".Z" (generato dall'applicazione "compress")
soppiantato poi dal ".tgz" (generato dalle applicazioni "tar" e "gzip").
Per completezza forniamo anche la documentazione ed il software per il
formato DOS ".arj" che ha qualche attrattiva per il salvataggio
multidischetto.
Tutto il software fornito gira in ambiente DOS e tuttavia TAR, COMPRESS
e GZIP forniscono come risultato dei files DOS che se spostati su una
macchina Unix sono direttamente utilizzabili con i comandi Unix
tar, compress, uncompress e
gzip.
Allo stesso modo i file generati da questi comandi Unix una volta spostati
su una macchina DOS sono leggibili dai loro corrispettivi DOS TAR,
COMPRESS e GZIP.
L'unica avvertenza riguarda i file di testo che, se spostati tra DOS e
Unix, risultano illeggibili e vanno convertiti usando il comando FLIP
in DOS.
Infine se la vostra esigenza é quella di mettere tutto su dischetto,
spesso vi troverete a dover portare via files più lunghi di 1.4Mb,
che quindi non stanno su un singolo dischetto.
Per fare questo potete usare l'opzione & di PKZIP (sconsigliata) o
ARJ (meglio) o SPLIT.
Un'ultima avvertenza: vi hanno già detto di non usare il laboratorio
per far circolare giochi o materiali che non hanno nulla a che vedere con
la didattica. Quindi evitate di usare tutte queste nozioni per far
circolare materiale non didattico; i docenti ed i tecnici sono abilitati
a rilevare e segnalare eventuali infrazioni.
Ecco ora una lista dei principali comandi:
- Pkzip -<opzioni> <archivio> <files> (Shareware)
É un comando che permette di raccogliere e archiviare in poco
spazio disco molti files. Vi consigliamo di usarlo per gestire al meglio
il vostro spazio in laboratorio.
In Windows NT, dal file manager, nel sottomenù File esiste una
opzione, Compress che é possibile usare per comprimere "un
pochino" i vostri file senza farli sparire in un unico archivio.
La compressione di Pkzip, invece, é più energica ma anche
meno flessibile: infatti una volta formato l'archivio i files devono
essere estratti con Pkunzip prima di poterli riusare.
Le opzioni principali di pkzip sono:
- -rP
per archiviare anche le sotto-directory di modo da poter ricreare in
un secondo momento tutta la struttura archiviata.
- -&
per salvare su più dischetti l'archivio.
Da evitare a meno di non avere dischetti assolutamente senza "bad
sector" (l'assenza di bad sectors si verifica con il comando DOS
CHKDSK).
Da questo punto di vista una migliore alternativa é usare
il compressore ARJ
(Shareware) (vedi
la documentazione per dettagli)
- -e0
per rinunciare alla compressione (da usarsi quando si sa già
che i file da archiviare non sono ulteriormente comprimibili)
- -d
per cancellare un file da un archivio.
- Pkunzip -<opzioni> <archivio>
Questo comando permette di ricostruire files archiviati con pkzip.
Le principali opzioni sono le seguenti:
- -v
per vedere il contenuto di un archivio senza aprirlo effettivamente
- -t
per controllare l'integrità di un archivio senza tentare di aprirlo
effettivamente
- -d
opzione da usarsi per ricostruire archivi creati con l' opzione -rP.
Questa
opzione autorizza pkunzip a ricreare le directory che erano presenti al
momento in cui si é costruito l' archivio.
- TAR (comando nativo Unix)
Per raccogliere ed archiviare molti file
e spostarli tra l' ambiente DOS/Windows e UNIX é indispensabile usare
questo comando. La logica del comando é simile a
quella della coppia pkzip-pkunzip. Ad esempio per raccogliere tutti i
files della directory c:\pippo in un archivio di nome pippo.tar il
comando é TAR -cvf pippo.tar c:\pippo mentre per riestrarre
questi files il comando sarà TAR -xvf pippo.tar. Per vedere
quali files sono contenuti nell' archivio pippo.tar senza estrarli si
userà infine il comando TAR -tvf pippo.tar. Il comando TAR
presenta poi tutta una serie di opzioni di più o meno interessanti per
cui si rimanda alla documentazione del comando.
Notiamo infine che i comandi TAR descritti non comprimono i file
archiviati, per cui può essere utile comprimere il file .tar con qualche
utility di compressione.
- Compress & Uncompress (comandi nativi Unix)
Se dovete far transitare i vostri dati da e per un sitema Unix potete
comprimerli prima di trasportarli. Questa utility (Shareware) vi permette di prendere un file ad
esempio bigfile e di comprimerlo con il comando COMPRESS bigfile. Il
risultato é che sul disco fisso vi troverete solo più bigfile.Z.
Se volete
riavere il file originale tutto quello che dovete fare é COMPRESS -d
bigfile.Z. Per maggiori informazioni vedi la
documentazione di COMPRESS.
- Gzip (comando nativo Unix)
Gzip é un altro tipo di compressore (Shareware)
per dati molto usato in ambiente Unix. Con il comando GZIP
bigfile. vi troverete, sul disco fisso, solo piu bigfile.gz se
volete riavere il file originale tutto quello che dovete fare é
GZIP -d bigfile.gz. Per maggiori informazioni vedi la documentazione di GZIP.
- Split
Questa utility (Shareware) vi
permette di portarvi a casa il vostro lavoro in maniera semplice e veloce
quando la mole dei dati supera la capienza di un dischetto. La procedura
da seguire é questa: compattate tutti i vostri dati con pkzip, se quello
che ottenete é un file (ad esempio bigfile.zip) che supera i 1.4 Mb
dividerete, su disco fisso, il file di grandi
dimensioni in più files copiando poi i singoli files uno per dischetto,
per poi ricostruire su un' altra macchina il file originale con un COPY
binario. Se ad esempio dobbiamo portarci a casa il file di 4Mb bigfile.zip
procederemo come segue: dividiamo il file con il comando SPLIT
bigfile.zip bigdsk b 1400000 che crea 3 files di cui due da 1.4Mb,
(che stanno giusti giusti su un dischetto) I files avranno nome
bigdsk.001, bigdsk.002 etc, c'é poi un file .CTL che va ricopiato solo se
volete ricostruire i files con SPLIT. In generale il file bigfile.zip
può essere ricostruito con un COPY binario ovvero COPY/B
bigdsk.001+bigdsk.002+bigdsk.003 bigfile.zip dopo che sono stati
ricopiati da dischetto su disco fisso i vari files bigdsk.*. Per maggiori
informazioni vedi la documentazione di SPLIT
- FLIP
FLIP (Shareware) converte files di testo tra
DOS e UNIX. FLIP -m unix.txt dos.txt converte il file di testo
Unix unit.txt nel file di testo DOS dos.txt e FLIP -u dos.txt
unix.txt compie l' operazione inversa. Per ulteriori informazioni
si veda la documentazione allegata
Miscellanea
- Doskey (history in Unix)
Questo comando non ha effetto subito ma, dopo averlo eseguito, il sistema
si
ricorderà tutti i comandi che avete dato di modo da permettervi di non
doverli scrivere più volte. I comandi possono essere richiamati
utilizzando
le frecce cursore e i tasti F7, F8, F9. La linea di comando può poi
essere modificata usando i tasti cursore ed il tasto Insert.
Appunti a cura di morando@disi.unige.it