|
MTOOLS(1) manual page
Table of Contents
Mtools - collezione di programmi per manipolare file MSDOS
mattrib - cambia gli attributi di un file MSDOS
mbadblocks - verifica
un floppy disk, e marca i bad block nella FAT
mcd - cambia la directory
MSDOS
mcopy - copia file da MSDOS a Unix e viceversa
mdel - cancella
un file MSDOS
mdir - mostra una directory MSDOS
mformat - aggiunge un
file system MSDOS a un floppy disk formattato
a basso livello
mlabel
- crea l'etichetta su un disco MSDOS
mmd - crea una subdirectory MSDOS
mmount - monta un disco MSDOS
mrd - rimuove una subdirectory MSDOS
mmove - sposta o rinomina un file o una subdirectory MSDOS
mren - rinomina
un file MSDOS già esistente
mtype - mostra il contenuto di un file MSDOS
mtest - verifica e mostra la configurazione
Gli Mtools
sono una collezione di programmi di pubblico dominio che permettono a
tutti i sistemi Unix di leggere, scrivere e manipolare file su un file
system MSDOS (tipicamente un floppy disk). Ove sia necessario, ogni programma
prova a simulare l'equivalente comando MSDOS. Non sono comunque simulate
restrizioni e stranezze del DOS. Ad esempio, è possibile spostare subdirectory
da una subdirectory ad un'altra.
Opzionalmente, i nomi di file MSDOS possono
essere composti dalla lettera del drive, seguita da un due punti, una
subdirectory e un nome di file. Nomi di file privi della lettera del drive
fanno riferimento a file Unix. Nei nomi delle subdirectory si può usare
come separatore sia '/' che '\'. L'uso del separatore '\' o di metacaratteri potrebbe
richiedere che i nomi siano racchiusi fra virgolette per proteggerli dalla
shell. (N.B.: i metacaratteri nei nomi di file Unix non dovrebbero essere
racchiusi tra virgolette, poiché in questo caso si vuole che la shell
le espanda.)
Le routine di corrispondenza dei modelli
delle espressioni regolari seguono le regole di stile Unix. Per esempio,
'*' indica tutti i file MSDOS al posto di '*.*'. Gli attributi archive, hidden,
read-only e system vengono ignorati durante le corrispondenze.
Tutte le
opzioni usano il flag '-' (meno), e non '/' come ci si aspetta dall'MSDOS.
Molti
degli Mtools permettono di specificare più nomi di file come parametri,
il che non segue le convenzioni dell'MSDOS, ma è più user-friendly.
Il comando mcd è usato per stabilire il dispositivo e la directory
di lavoro corrente (relativa ad un file system MSDOS), altrimenti di
default viene assunto A:/. Comunque, diversamente da MSDOS, c'è una sola
directory di lavoro, e non una per disco.
Questa versione degli Mtools supporta i nomi di file lunghi in stile
VFAT. Se un nome di file Unix è troppo lungo per stare nel nome DOS corto,
è salvato come un nome lungo VFAT, ed è generato un nome corto di supporto.
Questo nome corto è quello che si vedrà esaminando il disco con una versione
del DOS precedente alla 7.0. La seguente tabella mostra alcuni esempi
di nomi corti:
| Nome Unix | Nome MSDOS | Motivo della modifica |
| _
| _ | _ |
| thisisatest | THISISAT | nome di file troppo lungo |
| alain.knaff
| ALAIN.KNA | estensione troppo lunga |
| prn.txt | XRN.TXT | PRN è il nome di
un dispositivo |
| .abc | X.ABC | nome di file vuoto |
| hot+cold | HOTXCOLD
| carattere illegale |
Il nome di file iniziale in stile Unix (sia
lungo che corto) è anche detto nome primario, e il nome di file corto
derivato è anche detto nome secondario.
Esempi:
mcopy /etc/motd a:Reallylongname
L'Mtools crea una voce VFAT per Reallylongname, e usa REALLYLO come nome
corto. Reallylongname è il nome primario, e REALLYLO e il nome secondario.
mcopy /etc/motd a:motd
motd ci sta dentro i limiti dei nomi di file
MSDOS. L'Mtools non ha bisogno di derivare un'altro nome: motd è il nome
primario, e non c'è il nome secondario.
In parole povere: il nome primario
è il nome lungo, se esiste, oppure il nome corto se non c'è il nome lungo.
Quando si scrive un file su disco, il suo nome lungo
(nome primario) o il suo nome corto potrebbe coincidere con quello di
un file o di una directory esistenti. Ciò può succedere con tutti i comandi
che creano nuove voci in una directory: mcopy, mmd, mren, mmove, mwrite
e mread.
Quando avviene una collisione fra i nomi, l'Mtools chiede cosa
deve fare. Sono possibili diverse scelte:
- overwrite
- Sovrascrive il file
esistente. Non è possibile sovrascrivere una directory con un file.
- rename
- Rinonima il nuovo file creato. L'Mtools chiederà il nuovo nome per il file.
- autorename
- Rinomina il nuovo file creato. L'Mtools sceglierà da solo il
nome, senza chiedere niente.
- skip
- Tralascia questo file, e passa al successivo
(se c'è).
Per scegliere una opzione si immetta la sua iniziale al prompt.
Se viene inserita una minuscola l'opzione sarà applicata solo al file in
esame, mentre se si preme una maiuscola l'opzione verrà applicata a tutti
i file.
È possibile scegliere le opzioni (per tutti i file) dalla riga
di comando, quando si lancia un Mtools:
- -o
- Sovrascrive di default il nome
primario.
- -O
- Sovrascrive di default il nome secondario.
- -r
- Rinomina di default
il nome primario.
- -R
- Rinomina di default il nome secondario.
- -a
- Automaticamente
rinomina di default il nome primario.
- -A
- Automaticamente rinomina di default
il nome secondario.
- -s
- Tralascia di default il nome primario.
- -S
- Tralascia
di default il nome secondario.
- -m
- Chiede all'utente cosa fare con il nome
primario.
- -M
- Chiede all'utente cosa fare con il nome secondario.
Di default,
l'utente viene interrogato nel caso di una collisione fra nomi primari,
mentre il nome secondario è rinominato automaticamente.
Se avviene una
collisione con una directory Unix, l'Mtools chiede se deve sovrascrivere
il file o tralasciarlo.
Il file
system VFAT è in grado di ricordare il case dei nomi di file. Comunque,
nomi di file che differiscano solo nel case non possono coesistere nella
stessa directory. Per esempio se si salva una file chiamato LongFileName
su un file system VFAT, mdir mostrerà questo file come LongFileName,
e non come Longfilename. Comunque, se poi si prova ad aggiungere LongFilename
nella stessa directory, questi sarà rifiutato, poiché il case è ignorato
nella verifica delle collisioni.
Il file system VFAT permette di salvare
nel byte di attributo il case del nome del file, se tutte le lettere del
nome rispecchiano lo stesso case e se ciò avviene pure nell'estensione.
Gli Mtools usano queste informazioni quando mostrano i nomi dei file,
e anche per generare il nome Unix quando questi vengono ``mcopy-ati'' in una
directory Unix. Ciò può avere risultati inaspettati quando viene applicato
a file scritti con una versione di DOS precedente alla 7.0: in tal caso
i nomi di file saranno resi tutti con le maiuscole. Ciò è diverso dal
comportamento della vecchia versione degli Mtools che usava queste informazioni
per generare nomi di file Unix con le minuscole.
Xdf è un formato ad alta capacità supportato da OS/2. Può tenere
1840 kB per disco. Ciò non è moltissimo confrontato con i migliori formati
2m, ma ha il principale vantaggio di essere veloce: 600 millisecondi per
traccia. Perciò è più veloce del buon vecchio formato a 21 settori, e quasi
veloce quanto il formato standard a 18 settori. Per poter accedere a questi
dischi, si setti per il disco la variabile use_xdf. Per avere i dettagli
su come fare si veda Mtools(5)
. L'accesso veloce ai dischi Xdf è possibile
solo con kernel più recenti del 1.3.34.
Avvisi per i distributori: Se gli
Mtools sono compilati su un kernel Linux più recente del 1.3.34, non funzioneranno
su kernel più vecchi. Comunque, se sono stati compilati su un kernel più
vecchio, funzioneranno ancora su kernel più recenti ad eccezione del fatto
che l'accesso agli Xdf sarà più lento. Si raccomanda agli autori delle distribuzioni
di includere Mtools compilati con un kernel più vecchio del 1.3.34, fino
a che non sarà uscito il 2.0. Quando ci sarà il 2.0, potranno (e dovrebbero)
essere distribuiti i binari degli Mtools compilati su kernel più recenti.
Gli eseguibili degli Mtools compilati su kernel più vecchi del 1.3.34 non
gireranno su nessuno dei kernel 2.1 o successivi.
Tutti
i comandi Mtools restituiscono 0 in caso di successo, 1 in caso di completo
fallimento, o 2 in caso di fallimento parziale. Tutti i comandi Mtools
eseguono, prima di proseguire, qualche verifica sullo stato del disco,
e per essere sicuri che questi sia un disco MSDOS (invece di un disco
ext2 o minix). Queste verifiche possono rifiutare dischi parzialmente corrotti,
i quali potrebbero essere ancora leggibili. Per evitare questi controlli,
si setti la variabile d'ambiente MTOOLS_SKIP_CHECK.
mattrib(1)
,
mbadblocks(1)
, mcd(1)
, mdel(1)
, mformat(1)
, mmove(1)
, mrd(1)
, mren(1)
,
mtype(1)
, mcopy(1)
, mdir(1)
, mlabel(1)
, mmd(1)
, mmount(1)
Occasionalmente,
a causa di uno sfortunato effetto collaterale dovuto ad una erronea scelta
dell'esatto dispositivo (che può accadere quando sono supportate diverse
capacità dei dischi), il device driver può produrre alcuni messaggi d'errore.
Possono essere tranquillamente ignorati.
Il codice di verifica della fat
checking si pianta su dischi ``mformat-ati'' a 1.72 MB con versioni degli Mtools
precedenti alla 2.0.7. Si setti la variabile d'ambiente MTOOLS_FAT_COMPATIBILITY
per saltare la verifica della fat.
Il supporto per le varianti per i S.O.
non Linux non è stato testato molto a lungo. Potrebbe contenere bachi,
o addirittura non funzionare del tutto.
Table of Contents
|