[Torna all'indice]

In questa lezione ti occorrerà un floppy disk formattato, vuoto, non protetto da scrittura.

Trasferire file da/a Windows su dischetto, utilizzando mtools

mtools è un insieme di comandi per la gestione dei dati su floppy disk (paragonabili ai comandi MS-DOS: COPY, DEL, DIR, etc.)
Inserisci un floppy disk formattato, vuoto, non protetto da scrittura nel drive del floppy disk.

Apri una root shell:

k_in_gear Clicca con il tasto sinistro del mouse sull'icona raffigurante una lettera "K" su di un ingranaggio, posta in basso a sinistra sul Desktop KDE di Knoppix (corrispondente, per esempio, all'icona <Start> in Windows 98/NT/XP...).

k_knoppix Nel menu che si è aperto, clicca con il tasto sinistro del mouse sulla voce "KNOPPIX".

k_rootshell Nel successivo sottomenu clicca sulla voce "Root Shell". Si aprirà una finestra "Root".

Dalla finestra "Root" puoi digitare i comandi mtool per mezzo della tastiera.

Alcuni esempi:

mtools

Spiegazione degli esempi:

mformat a: Formatta il dischetto che è nel drive A:
Tutti i dati sul dischetto saranno perduti!
mcopy /bin/date a: Copia il file "date" dalla directory /bin al dischetto nel drive A:
mdir a: Visualizza i file del dischetto inserito nel drive A:
mcopy a:\excursion.jpg /home/knoppix Copia il file "excursion.jpg" dal dischetto nel drive A: alla directory /home/knoppix.
mdel a:\excursion.jpg Elimina il file "excursion.jpg" dal dischetto nel drive A:
mcopy -t a:\readme.txt /tmp/README Copia il file "readme.txt" dal dischetto nel drive A: alla directory /tmp assegnandogli il nuovo nome README.
A causa dell'opzione -t, tutte le coppie di caratteri CRLF (carriage return / line feed) utilizzate nei file MS-DOS sono trasformate in singoli caratteri LF, nello stile Unix (vedi anche le Divagazioni che seguono).
mcopy -t /etc/motd a:\motd.txt Copia il file motd (message of the day - messaggio del giorno) dalla directory /etc al dischetto nel drive A: con il nuovo nome motd.txt
A causa dell'opzione -t, ciascun carattere LF è trasformato in coppie di caratteri CRLF (carriage return / line feed), nello stile MS-DOS (vedi anche le Divagazioni che seguono).

Regole approssimative:

Potrai trovare ulteriori informazioni nelle pagine del manuale di mtools, che puoi richiamare con i comandi "man mtools", "man mcopy", "man mdel" in una finestra a linea di comando (per esempio: k_in_gear_little --> k_knoppix --> k_rootshell). Puoi scorrere lungo le pagine del manuale utilizzando la barra spaziatrice, e terminare la lettura del manuale premendo il tasto "q".

[Torna all'inizio della pagina]


Divagazioni: File sotto Windows e UNIX - due mondi in collisione!

Sei così vecchio da conoscere la macchina per scrivere, e averla addirittura utilizzata? Forse ne hai perfino una in cantina...
Con le macchine per scrivere, quando arrivavi al termine della riga, dovevi spingere una leva. In quel momento succedevano *due* cose:
*Prima di tutto* la leva veniva spostata di due o tre piccoli scatti. Questo movimento faceva ruotare il rullo e quindi il foglio *verso l'alto* di una nuova riga. Questo è chiamato in inglese, "line feed" (abbreviato in LF).
*Quindi* con la leva veniva spostato l'intero carrello *a destra*, fino all'inizio del foglio inserito. Questo veniva chiamato, in inglese, carriage return (abbreviato in CR).

Nel tuo PC e nel tuo hard disk i caratteri di una linea di testo sono memorizzati in sequenze di byte come caratteri codificati ASCII. Per indicare la fine della linea è necessario contrassegnarla in qualche modo.

I primi "schermi" di computer non erano altro che macchine per scrivere elettromeccaniche o terminali TELEX, che avevano quindi un meccanismo simile al carriage return / linefeed delle vecchie macchine per scrivere. Questi meccanismi erano controllati dai caratteri ASCII CR e LF. Gli sviluppatori di MS-DOS prima, e di Windows poi, utilizzavano questi caratteri ASCII per indicare la fine di ogni riga di testo nei loro file. Per esempio, se sotto Windows editiamo un testo con Notepad, la stringa abc <INVIO> def, sarà memorizzata internamente al file ASCII come "abcCRLFdef". E quando Notepad la leggerà, visualizzerà:

abc
def

L'editor interpreta i caratteri CRLF come una indicazione che deve iniziare una nuova riga. E così deve essere.

Gli sviluppatori di UNIX (all'università di Berkeley) decisero che *un solo* carattere poteva essere sufficiente per contrassegnare la fine di una riga e l'inizio della successiva.
Per questo motivo sotto Unix/Linux viene utilizzato solo il carattere LF. Quando, sotto UNIX, l'editor vi (oppure gvim) legge la stringa ASCII "abcLFdef", la visualizzerà correttamente come:

abc
def

La grande confusione inizia quando si vogliono modificare file di testo Linux sotto Windows, o viceversa. Quando Notepad, sotto Windows, legge la stringa ASCII: "abcLFdefLFghi", la visualizzerà nel modo seguente:

abc
def
ghi
Farà sempre soltanto un linefeed, ma nessun carriage return, e in questo modo la riga successiva non inizia a partire dall'inizio della riga.

Quando vi / gvim legge un file di testo Windows con la stringa: "abcCRLFdefCRLFghi", la visualizzerà nel modo seguente:

abc^M
def^M
ghi

Sostituirà cioè il carattere di controllo ASCII CR (invisibile) con un paio di caratteri ASCII (^M - visibili) e, a causa del carattere LF, si posizionerà all'inizio di una nuova riga.
Per evitare questa confusione è necessario, per i file di testo UNIX che devono essere modificati sotto Windows, sostituire ogni carattere LF con la coppia di caratteri CRLF, mentre per i file di testo Windows che devono essere modificati sotto UNIX si deve sostituire ogni coppia di caratteri CRLF con LF.

[Torna all'inizio della pagina]

[Torna all'indice]


Questo Documento si riferisce alla Knoppix Version 3.4 CeBit 2004 Edition.
Copyright (c) 2004-04-19 Karl Schock. Un ringraziamento a tutti coloro che hanno contribuito alla stesura di questo documento - un ringraziamento particolare a Pieter Jonker per la traduzione in inglese.
La traduzione in italiano è a cura di Maurizio Grillini.
L'indirizzo Internet originale di questo documento è: www.eleli.de/knoppix/docs/tutorial
È garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della GNU Free Documentation License.
LE INFORMAZIONI CONTENUTE IN QUESTO DOCUMENTO SONO DA UTILIZZARE A PROPRIO RISCHIO. In nessun caso l'autore può essere ritenuto responsabile per danni diretti o indiretti che possano derivare dall'utilizzo di questo documento.