mtools

Autres langues

Langue: it

Autres versions - même langue

Version: local (fedora - 25/11/07)

Autres sections - même nom

Section: 1 (Commandes utilisateur)

NOME

Mtools - collezione di programmi per manipolare file MSDOS

SINTASSI

 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
 

DESCRIZIONE

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).

DIFFERENZE CON MSDOG

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.

DIRECTORY DI LAVORO

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.

Nomi di file lunghi in stile VFAT

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.

COLLISIONE FRA NOMI

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.

SENSIBILITÀ AL CASE DEL FILESYSTEM VFAT

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.

DISCHI XDF (SOLO PER LINUX)

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.

CODICI DI USCITA

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, s'imposti la variabile d'ambiente MTOOLS_SKIP_CHECK.

VEDERE ANCHE

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)

BACHI

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.